现象:服务报错mysql连不上等,进入mysql容器,输入mysql -uroot -proot 报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决:找到mysql服务所在节点,docker exec -it [容器id] bash,进入容器
然后mysql -uroot 进入mysql,【注意:这里不需要输入密码也能进去】
如果找不到密码,那么需要找一下mysql的log日志,日志中搜 password ,会有个初始密码,注意:此密码是初始化数据库时自动生成,第一次用socket链接时,会提示修改。
首次重置密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
exit # 需要退出重进
如果log日志中搜不到,可能需要重新初始化数据库了…
然后执行:
use mysql;
update user set host = '%' where user = 'root';
UPDATE user SET authentication_string=PASSWORD('root') where User='root';
flush privileges;
然后重启用到mysql的服务重连即可