服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - docker mysql修改root账号密码并赋予权限

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

2022-09-19 18:08小黄不会呀 服务器知识

本文主要介绍了docker mysql修改root账号密码并赋予权限,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

修改dockermysqlroot账户的账号密码

所以记录一下

开始

登陆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账号密码并赋予权限的文章就介绍到这了,更多相关docker mysql修改root 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_42767642/article/details/123223643

延伸 · 阅读

精彩推荐