新闻动态
新闻动态
NEWS INFORMATION

docker mysql修改root账号密码并赋予权限

发布日期:2022-07-15 19:25 | 文章来源:源码中国

最近碰到程序员大离职,我并接下了别人的烂摊子。

修改docker中mysql的root账户的账号密码

所以记录一下

开始

登陆CentOs linux服务器后

docker ps        //查看docker镜像

进入镜像mysql镜像内部

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像

安装vim

因为docker镜像内部没有带vim命令,所以需要手动安装,也可以利用docker cp命令从宿主机中复制过去

apt-get update
apt-get install vim

编辑配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

需要加入“skip-grant-tables” 按i cv加入"skip-grant-tables" 按esc 然后:wq!

保存退出

exit    # 退出容器

重启mysql容器

docker restart mysql 

再次进入容器

docker exec -it mysql bash

登录 mysql(无需密码)

mysql -uroot

更新权限

flush privileges;

修改密码

alter user 'root'@'localhost' identified by '123456';

退出mysql

exit

注释“skip-grant-tables”

需要注释“skip-grant-tables” 按i 按esc 然后:wq!

退出容器

exit

重启容器

docker restart mysql

如果内部能访问,Navicat等访问不了,那么执行把mysql权限开放

错误:ERROR 1130: Host 'ip' is not allowed to connect to thisMySQL serve

原因:被连接的数据不允许使用 ip 访问,只允许是用 localhost;

进入mysql镜像

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像

登陆mysql

mysql -u root -p     输入刚刚修改的密码
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host'   from user where user='root';

如果还是不行那就是有多个root权限 更新权限

updateusersetpassword=password("root")whereuser="root"; 如果报已有主键id

那就删除掉localhost

到此这篇关于docker mysql修改root账号密码并赋予权限的文章就介绍到这了,更多相关docker mysql修改root 内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

国外稳定服务器

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部