Docker环境下Mysql跳过密码验证
环境
- Mysql版本:8.0
- 操作系统:CentOS 7
适用场景
使用Docker拉取的Mysql并启动的Mysql容器,这个时候如果需要跳过Mysql密码验证,网上流传的最多的就是在Mysql的配置文件my.cnf中添加一行代码,但是这个仅仅是在非Docker容器运行的Mysql使用,如果你的Mysql使用的Docker容器执行的,按照网上修改并无任何作用,甚至找不到my.cnf,废话不多说看操作
解决办法
1.找到docker.cnf
执行命令
find / -name docker.cnf |
如果出现多个,选择带有merged这个
2.编辑docker.cnf
紧接着使用vim编辑docker.cnf文件,在最后一行添加skip-grant-tables 保存并退出 执行命令
vim /你的路径/docker.cnf |
3.重启Mysql容器
执行命令
docker restart mysql(改成你的mysql容器名) |
以上已经完成跳过Mysql密码验证!
4.验证
进入容器
docker exec -it mysql(改成你的Mysql容器) bash |
进入Mysql,输入完以下命令直接回车即可,恭喜成功进入,接下来就修改密码吧
mysql -u root -p |
修改Mysql密码
注意,如果按照正常的修改密码,会提示你,大致意思是你现在处于skip-grant-tables,不能修改,废话不多说看操作,进入Mysql之后,按照下面的步骤 1.选择库
use mysql; |
2.先刷新权限
flush privileges; |
3.修改密码
SET PASSWORD FOR 'root'@'%' = '123456(这里改成的密码)'; |
4.再次刷新权限
flush privileges; |
搞定!
注意
修改完成密码之后不要忘记把docker.cnf文件中的skip-grant-tables删除!!!然后重复 3.重启Mysql容器!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT者!