服务器上安装的MySQL服务,一般都会用Navicat做日常数据库的使用工具。今天在阿里云上安装MySQL8,但是Navicat始终连接不上,试了网上很多方法都没用,以下记录一些关键的地方。
1.阿里云要添加安全规则
即使服务器防火墙已经开放了3306端口,或者关掉了防火墙,还需要在阿里云控制台允许外部访问3306端口,具体设置界面如下
2.MySQL8加密规则
MySQL8使用了新的加密规则会导致Navicat连接失败,报1251的错误。需要修改默认加密规则。
1.修改数据库
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
报错的话,需要把localhost修改为root用户对应的host
2.修改my.cnf
default_authentication_plugin=mysql_native_password
直接添加到配置文件里