首页 > 数据库 > mysql教程 > docker mysql怎么修改root账号密码并赋予权限

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

PHPz
发布: 2023-06-01 19:16:04
转载
2016 人浏览过

开始

登陆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账号密码并赋予权限的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板