错误
使用Navicat Premium 连接MySQL时出现如下错误:
原因
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
Navicat的验证还是使用mysql_native_password加密规则
解决
没有添加环境变量先添加环境变量
设置系统环境变量,鼠标放置此电脑上,点击右键选择属性,选择高级系统设置-------点击环境变量。添加环境变量。若已有path,在path后面添加如下路径即可,多个系统变量用分号隔开(英文状态下)。若无path,新建添加如下路径即可。
路径:C:\Program Files\MySQL\MySQL Server 8.0\binC:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe
win7系统写法:C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe
更改加密规则:
mysql -uroot -ppassword #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限