docker 运行mysql最新版本用navicat连接报错:1251
主要是:新版的mysql的加密方式发生了变化,解决方法如下:
- 进入docker容器:
docker exec -it mysql01 bash
- 登陆mysql数据库:
mysql -uroot -pxxxx
- 查看用户的密码加密方式
select host,user,plugin,authentication_string from mysql.user;
- 更新用户的加密方式
- 更新user为root,host为% 的密码为root;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
- 更新user为root,host为localhost 的密码为root;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
- 刷新
FLUSH PRIVILEGES;