这个是 MySQL 8 在远端登入时可能出现的错误信息:
ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded
MySQL 8 默认的登入认证方式是 caching_sha2_password, 如果登入的电脑是安装 MySQL 5.7 Client, 则是使用 mysql_native_password 登入认证, 产生兼容性问题, 解决方法有以下两个.
解决方法 1:
把 MySQL 8 设定成继续使用旧有的 mysql_native_password 登入, 开启 /etc/my.cnf, 在 [mysqld] 段落设定认证方式:
- # vi /etc/my.cnf
-
[mysqld]
default_authentication_plugin=mysql_native_password
然后重新启动 MySQL:
- # systemctl restart mysql
解决方法 2:
如果不想回到旧有的认证方法, 可以修改现有帐号, 或新增一个新帐号, 指定登入地址及使用 mysql_native_password, 例如客户端的 IP 是 192.168.1.111, 在本机登入 MySQL 后, 输入以下 MySQL 指令:
|
1 |
ALTER USER 'db-user'@'192.168.1.111' IDENTIFIED WITH mysql_native_password BY 'db-password'; |