Navicat 连接 docker 容器mysql 报1251错误 解决办法

(1)容器中登录mysql,进入mysql>命令行
1、docker exec -it 容器id bash
2、mysql -uroot -p //-uroot
3、输入密码
4、进入mysql>命令行界面
(2)进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)
1、mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%‘WITH GRANT OPTION;
2、mysql>FLUSH PRIVILEGES;
(3)更改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
(4)更新root用户密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password’;
‘password’是让你设置新的密码或者和以前的一样
刷新权限
flush privileges;
(5)设置完成,再次使用 Navicat 连接数据库,使用新的密码’password’

实例如下;我是用的是root用户,密码是root
Navicat 连接 docker 容器mysql 报1251错误 解决办法