在部署过程中遇到Navicat 1251 报错,导致虚拟机上的映射的容器中的mysql连接不上。
这时候登录容器中的mysql,进入mysql的表中use mysql;
使用show host,user form user;
查看所使用的连接用户的host是否为%,如果没有,那么使用update user set host = '%' where user = '用户名';
将用户的host改为%,在重新进行一遍连接测试,如果还是连接不上那么接着执行ALTER USER "用户名"@"%" IDENTIFIED WITH mysql_native_password BY "密码";
修改为旧版的密码验证机制。
FLUSH PRIVILEGES;
刷新,重新尝试连接。
以root用户为例,密码为123
>use mysql; >show host,user form user; >update user set host = '%' where user = 'root'; >ALTER USER "root"@"%" IDENTIFIED WITH mysql_native_password BY "123"; >FLUSH PRIVILEGES;