问题描述:
在官网下载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 ‘[email protected]‘ PASSWORD EXPIRE NEVER;
3.重新修改密码
ALTER USER‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘[email protected]‘;
4.刷新(不做可能无法生效)
FLUSH PRIVILEGES;
(本方法参考自 http://www.bubuko.com/infodetail-2714769.html)
其他参考办法:
-
node-mysql连接mysql失败Error: ER_NOT_SUPPORTED_AUTH_MODE
-
关于Navicat连接不上MySQL 8.0解决办法
-
Mysql8.0中caching_sha2_password报错解决
问题预防:
如果想向下兼容,可以在 MySql server 8.0以上版本安装时选择
Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)
安装好就可以正常使用和连接。
原文地址:https://www.cnblogs.com/Anbrera/p/10148538.html
时间: 2024-10-09 12:49:49