MySQL 8.0版本无法使用 node、Navicat等三方工具连接的问题

问题描述:

在官网下载mysql之后,一切按照默认配置安装完毕。

(windows 7 64位操作系统)

使用 MySQL Workbench 8.0 CE 登录本地库,正常;

使用 MySQL Workbench 8.0 CE 登录网络库,正常;

使用 node.js登录本地库,提示报错:

Error: ER_NOT_SUPPORTED_AUTH_MODE:

使用 node.js登录网络库,提示报错:

Error: ER_NOT_SUPPORTED_AUTH_MODE:

  

问题分析:

  高版本的MySQL默认使用新的密码算法,

  导致使用的 Workbench 客户端可以正常连接server ,

  而其他旧插架无法兼容。

解决办法:

1.进入mysql命令行

mysql -hlocalhost -uroot -p

  回车;

  输上密码;

2.修改加密方式

ALTER USER‘root‘@‘localhost‘ IDENTIFIED BY ‘Qigaoxiang2018@‘ PASSWORD EXPIRE NEVER;

3.重新修改密码

 ALTER USER‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘Qigaoxiang2018@‘;

  

4.刷新(不做可能无法生效)

FLUSH PRIVILEGES;

  (本方法参考自 http://www.bubuko.com/infodetail-2714769.html)

其他参考办法:

问题预防:

    如果想向下兼容,可以在 MySql server 8.0以上版本安装时选择 

Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)

  

安装好就可以正常使用和连接。

猜你喜欢

转载自www.cnblogs.com/Anbrera/p/10148538.html