NodeJS连接mysql,报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
我是mysql8.0以上的版本,在用NodeJS连接服务器中mysql数据库时开始报错

这表示服务器启动起来,但是数据库中密码协议出错,我从网上查到的结果告诉我,是mysql8.0支持了一个新的密码协议,但是NodeJS目前还没有支持导致的。
下面是我避坑后的解决方案,可能不适用于所有人
1. 登陆服务器中mysql
以管理员身份打开命令行,输入
mysql -u administrator -p
如果提示mysql不是可执行文件,可以在命令行中cd,直到mysql 中的bin目录,或者把mysql加入环境变量
注意:上面的root是你要修改的用户名,可能不是administrator,我的就是administrator

2. 输入密码
然后输入密码,进入mysql
3. 选择数据库
所以,首先我们需要选择数据库,在命令行中输入
use mysql
注意:这里就是mysql,不是别的名称,除非你修改了数据库中存储用户名密码的表的名称,但是这种几率很小,你动不到那里

如果选错数据库的话,会在后续密码置空操作中提示下述错误

4. 密码置空
如果原密码不置空,直接修改密码的话,会报错

密码置空操作,输入
update user set authentication_string='' where user='administrator';
其中上述administrator仍然为你需要修改密码协议的用户名

5. 刷新
此步骤很重要
flush privileges;

6. 修改密码及协议
我在这一步卡了好久
我修改密码协议,出现图中错误

查了很多资料,我明白了
打开数据库,mysql库,user表,可以看到

在我要修改的用户名前的host中是‘%’,而不是‘localhost’,所以我需要将命令中的 localhost 改为 %
alter user 'administrator'@'%' identified with mysql_native_password by '123456';
上述administrator为你需要修改密码的用户名,123456中为你的密码

至此,即完成全部步骤
mysql忘记密码修改等,网上很多教程好像不适用于mysql8.0,有时间把这部分写一下。
NodeJS连接mysql,报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client的更多相关文章
- egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; con ...
- 图文并茂解决Client does not support authentication protocol requested by server; consider upgrading MySQL
今天服务器部署node.js+mysql,调用接口报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protoc ...
- Client does not support authentication protocol requested by server; consider upgrading MySQL client
出现错误 Client does not support authentication protocol requested by server; consider upgrading MySQL c ...
- UnhandledPromiseRejectionWarning: SequelizeConnectionError: Client does not support authentication protocol requested by server; consider upgrading MySQL client
UnhandledPromiseRejectionWarning: SequelizeConnectionError: Client does not support authentication p ...
- node mysql问题:Client does not support authentication protocol requested by server; consider upgrading MySQL client!
node后台 mysql处理模块(版本:2.16.0) 执行connect方法时报错: Client does not support authentication protocol requeste ...
- MySQL安装教程及Navicat连接MySQL报错:1251-Client does not support authentication protocol requested by server
MySQL安装可参考: MySql 8.0.18安装 此参考文章后面涉及到的密码修改,对本标题碰到的错误同样适用. 本文先讲如何安装,在讲碰到的1251问题.要直接看解决方案的朋友可以直接通过目录链接 ...
- vscode Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
vscode 连接 mysql 时出现这个错误 alter user 'root'@'localhost' identified with mysql_native_password by 'pass ...
- Mysql8 连接提示 Client does not support authentication protocol requested by server; consider upgrading MySQL client 解决方法
USE mysql;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';FLUSH PR ...
- docker安装mysql容器后,是用navicat连接报client does not support authentication protocol requested by server consider upgrading mysql client
#进入容器 docker exec -it mysql bash#进入mysqlmysql -u root -p#重置密码ALTER USER 'root'@'%' IDENTIFIED WITH m ...
- django.db.utils.OperationalError: (1251, 'Client does not support authentication protocol requested by server; consider upgrading MySQL client')
1.打开MySQL: cmd里 net start mysql mysql -hlocalhost -uroot -p回车 进入mysql数据库 2. 命令如下: 1.use mysql; 2.alt ...
随机推荐
- 【opencv】传统图像识别:hog+svm实现图像识别详解
图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息.传统图像识别技术的过程分为信息的获取.预处理.特征抽取和选择.分类器设计和分类决策.本文也是从这四点出发进 ...
- Linux 内核设备树时钟绑定
这种绑定依然处于开发中,并且基于 benh[1] 的一些实验性工作. 时钟信号源可以由设备树中的任何节点表示.这些节点被指定为时钟提供者.时钟消费者节点使用 phandle 和时钟指示符对将时钟提供者 ...
- numpy中计算相关系数的np.corrcoef
np.corrcoef的作用 计算 Pearson 乘积矩相关系数.它可以用来分析给定数据集中各个变量之间的线性相关程度,返回一个相关系数矩阵,相关系数矩阵中的值介于 -1 到 1 之间,包括 -1 ...
- 【渗透测试】Vulnhub EMPIRE BREAKOUT
渗透环境 攻击机: IP: 192.168.149.128(Kali) 靶机: IP:192.168.149.130 靶机下载地址:https://www.vulnhub.com/entr ...
- iOS日志获取
IOS日志获取 崩溃日志存放目录: /var/mobile/Library/Logs/CrashReporter
- MySQL数据库触发器讲解 [创建/删除/查询/select into]
刚学习实例完mysql触发器, 前来分享学习经验. 菜鸟装逼, 老鸟勿喷 先来认识一下有关触发器的一些关键词. 在使用触发器时, 这些关键词将被用到, 请记下它们的模样和用途(意思) cre ...
- js详细讲解放大镜的实现
实现放大镜的整体思路 1.当鼠标放在图片上的时候,出现蒙层. 2.出现蒙层,让鼠标在蒙层中心 3.限制蒙层移动的范围 4.放大镜移动 最终实现的效果 鼠标放上去的时候,出现一个蒙层. 蒙层的移动范围只 ...
- 深入浅出:SPI机制在JDK与Spring Boot中的应用
本文分享自华为云社区<Spring高手之路14--深入浅出:SPI机制在JDK与Spring Boot中的应用>,作者:砖业洋__ . Spring Boot不仅是简化Spring应用开发 ...
- Linux部署项目常用命令(持续更新)
防火墙配置 # 启动防火墙服务 systemctl start firewalld # 关闭防火墙服务 systemctl stop firewalld # 查看防火墙服务状态 systemctl s ...
- IDEA2019 Debug傻瓜式上手教程
Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法. Force Step Into (Alt + Shift + F7) ...