使用Docker拉取的Mysql并启动的Mysql容器,这个时候如果需要跳过Mysql密码验证,网上流传的最多的就是在Mysql的配置文件my.cnf中添加一行代码,但是这个仅仅是在非Docker容器运行的Mysql使用,如果你的Mysql使用的Docker容器执行的,按照网上修改并无任何作用,甚至找不到my.cnf,废话不多说看操作
执行命令
find / -name docker.cnf
如果出现多个,选择带有merged这个
紧接着使用vim编辑docker.cnf文件,在最后一行添加skip-grant-tables 保存并退出 执行命令
vim /你的路径/docker.cnf
执行命令
docker restart mysql(改成你的mysql容器名)
以上已经完成跳过Mysql密码验证!
进入容器
docker exec -it mysql(改成你的Mysql容器) bash
进入Mysql,输入完以下命令直接回车即可,恭喜成功进入,接下来就修改密码吧
mysql -u root -p
注意,如果按照正常的修改密码,会提示你,大致意思是你现在处于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容器!