安装MySQL数据库的版本号为8.0.11后,用Navicat for MySQL连接时出现1251问题,如下图所示:
1 问题所在
MySQL8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
2 解决方法
2.1 在MySQL8.0 Command Line Client中输入登录密码
2.2 输入 use mysql;
后点回车
2.3 输入select user, host from user;
点回车后,看host
列中有没有%
的
2.4 如果没有,输入update user set host='%' where user='root';
(这里假定用户名为root)
2.5 更新用户名和密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
2.6 修改加密规则ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
2.7 刷新FLUSH PRIVILEGES;
[注意]
- root时自定义的用户名
- localhost指的是用户开放的IP,可以是localhost(仅本机访问,相当于127.0.0.1),可以是具体的’...’(具体某一IP),也可以是 ‘%’ (所有IP均可访问)
- password是你想使用的用户密码