MySQL 8.0.19远程连接不上
去MySQL官网下载安装包时发现了MySQL8的版本,本着与时俱进的想法,舍弃5.7,下载了版本8。
我下载的是Windows installer 傻瓜式安装,方便。
安装完使用navcat链接遇到了报错
Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因:密码加密方式【caching_sha2_password】,客户端不支持。
发现是加密方式的问题 原来新版的mysql的加密方式不同于5.7。
8里内置了一个加密插件:caching_sha2_password,初始化root用户时使用的是这种加密方式。
网上找找攻略,可以参考以下博客:
https://www.iteye.com/blog/binary-space-2412769
解决办法就是用原有加密方式,修改 root 用户密码:
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
修改执行报错
ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’%’
排查一下
mysql> use mysql;
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | localhost |
| admin | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| zhangj | localhost |
+------------------+-----------+
原来初始化用户配置时是localhost不是%
改变语句:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
好了!