温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-07-06 13:41:45 来源:亿速云 阅读:493 作者:iii 栏目:开发技术

今天小编给大家分享一下docker mysql怎么修改root账号密码并赋予权限的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

开始

登陆CentOs linux服务器

docker ps        //查看docker镜像

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

进入镜像mysql镜像内部

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

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

安装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!

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

 保存退出

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权限 更新权限

update user set password=password("root") where user="root"; 如果报已有主键id

那就删除掉localhost

以上就是“docker mysql怎么修改root账号密码并赋予权限”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI