本来是想着弄一下定时备份一下数据库,发现一直提示密码失败,这才进入容易查看mysql是否正常,发现 mysql -u root -p 输入正确密码后提示密码错误
解决方式,重新修改密码
- 先进入容器,再conf中免密码登陆
docker exec -it mysql /bin/bash
cd /etc/mysql
这里好几个配置文件,可以看着写
vim my.conf
添加 skip-grant-tables,保存退出容器 - 重启mysql docker restart mysql
- 重新进入容器,输入mysql -u root -p 回车进入容器,不用输密码
- 执行
update mysql.user set authentication_string=’’ where User=‘root’;
刷新权限 flush privileges - exit退出数据库,找到刚才conf,删掉 skip-grant-tables
- mysql -u root -p 重新进入数据库
- 执行
alter user ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
执行flush privileges。
这时候密码就是123456了。
navciat连接的时候,提示了 10061 错误, - docker进入数据库
- use mysql;
- grant all privileges on . to root@’%’ identified by “root”;
- flush privileges; 所有ip都能访问
- 重启docker