mysql 8.0认证失败_Node.js无法对MySQL 8.0进行身份验证

我有一个Node.js程序,它使用root帐户连接到本地MySQL数据库(这不是生产设置).

这是创建连接的代码:

const mysql = require('mysql');

const dbConn = mysql.createConnection({

host: 'localhost',

port: 3306,

user: 'root',

password: 'myRootPassword',

database: 'decldb'

});

dbConn.connect(err => {

if (err) throw err;

console.log('Connected!');

});

它适用于MySQL 5.7,但自从安装MySQL 8.0后,我在启动Node.js应用程序时遇到此错误:

> node .\api-server\main.js

[2018-05-16T13:53:53.153Z] Server launched on port 3000!

C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Parser.js:80

throw err; // Rethrow non-MySQL errors

^

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

at Handshake.Sequence._packetToError (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)

at Handshake.ErrorPacket (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\sequences\Handshake.js:130:18)

at Protocol._parsePacket (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Protocol.js:279:23)

at Parser.write (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Parser.js:76:12)

at Protocol.write (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Protocol.js:39:16)

at Socket. (C:\Users\me\project\node_server\node_modules\mysql\lib\Connection.js:103:28)

at emitOne (events.js:116:13)

at Socket.emit (events.js:211:7)

at addChunk (_stream_readable.js:263:12)

at readableAddChunk (_stream_readable.js:250:11)

--------------------

at Protocol._enqueue (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Protocol.js:145:48)

at Protocol.handshake (C:\Users\me\project\node_server\node_modules\mysql\lib\protocol\Protocol.js:52:23)

at Connection.connect (C:\Users\me\project\node_server\node_modules\mysql\lib\Connection.js:130:18)

at Object. (C:\Users\me\project\node_server\main.js:27:8)

at Module._compile (module.js:652:30)

at Object.Module._extensions..js (module.js:663:10)

at Module.load (module.js:565:32)

at tryModuleLoad (module.js:505:12)

at Function.Module._load (module.js:497:3)

at Function.Module.runMain (module.js:693:10)

似乎root帐户使用新密码哈希方法:

> select User,Host,plugin from user where User="root";

+------+-----------+-----------------------+

| User | Host | plugin |

+------+-----------+-----------------------+

| root | localhost | caching_sha2_password |

+------+-----------+-----------------------+

…但我不知道为什么Node.js无法连接到它.我已经更新了所有的npm软件包,但仍然存在问题.

我想保留新密码哈希方法.我还可以使这个连接工作吗?我是否必须等待更新MySQL Node.js包,或更改我的设置?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

耗时11年,120页论文,中科大数学家成功证明微分几何核心猜想

大数据文摘出品近日,中国科技大学几何与物理研究中心创始主任陈秀雄教授与王兵教授团队发布论文“Space of Ricci flows (II)—Part B: Weak compactness of the flows”,在全球范围内率先证明了“哈密尔顿-田”和“偏零阶估计”这两个困扰数学界20多年的…

java 写入txt_Java线程转储的8个选项

线程转储是诊断CPU尖峰,死锁,内存问题,无响应的应用程序,较差的响应时间以及其他系统问题的重要工件。有很多很棒的在线线程转储分析工具,可以分析和发现问题。但是对于那些工具,您需要提供适当的线程转储作…

php新特性:trait 关键字使用

1、trait关键字:含义【特性】 1.1 和require include 区别: 后两者需要 实例化一个类或者静态调用,而trait相当于继承,但又不是extends关键字,它解决了单继承。 2、目的:解决php的单继承问题 3、使用关键词…

重磅!2020年度人类社会发展十大科学问题发布

来源:科技导报 在11月9日下午的第二届世界科技与发展论坛的闭幕式上,中国工程院院士、清华大学教授、《Research》编委周济和《柳叶刀》主编,爱思唯尔柳叶刀系列期刊总编辑、理查德霍顿共同发布了“2020年度人类社会发展十大科学问题”。本次…

mysql表不存在_MySQL表不存在。但这确实(或者应该如此)

我确实更改了MySQL安装的datadir,并按照某些步骤运行良好。我曾经动过的每个基地都正确地移动了,但是一个。我可以连接和使用数据库,即使SHOW TABLES也会正确返回所有表,并且每个表的文件都存在于mysql数据目录中。但是&#xff0…

前端导出excel文件带样式_vue前端使用xlsx导出数据到excel中--最简单的方式

最新项目中需要将页面数据导出到excel中,首先想到的就是度娘,得到的结果都是千篇一律,答案都是你复制我我复制你的,虽然能解决问题,但是这个过程也太复杂。既然无法改变,那就只好插手你的生活了。废话少说&…

C#使用反射根据实体生成sql语句(添加和批量添加)

最近碰上这个一个需求,需要写一个接口,将穿进来的参数,存储到数据库里,但是存到哪个库,哪个表,不确定,需要根据参数去判断,但数据结构是固定的,因为表名不是固定的&#…

7种情绪,人类心智的通用模块

来源:混沌巡洋舰1859年,达尔文以一个挑衅性的断言结束了他的《物种起源》,那就是‘人类的起源和他的历史将会被(进化)点亮’。在他的后期著作《人类的由来》(1和《人类与动物的情感表达》中,达尔文阐明了人…

gitbook mysql_使用Gitbook做笔记

一、安装# 通过npm全局安装npm install gitbook-cli -g# 查看版本gitbook --version二、创建一本书2.1 本地创建# 创建一个文件夹mkdir mysql-note# 初始化cd mysql-notegitbook init# 会创建两个文件# README.md 书皮# SUMMARY.md 目录# 从本地打开这本书gitbook serve# 将md文…

python map函数返回类型_使用map和lambda函数发送两个参数并返回两个值

因为您说您只需要一个模型,而不是每个值都需要一个新模型,所以这相当简单。更改:hnd map(lambda (valua): function_f(valua), list_value)致:model ... initialize a model that will be passed to every call ...hnd map(lam…

03、数据类型(02)

字典(dict) 字典是一种映射型的数据类型,每个元素成对出现,即key- value,每对元素key 和 value“:”冒号分开,元素之间用逗号隔开,整个字典包括子在{}中。 字典中的“key”必须是不可变类型&am…

器官复刻、脑机接口、电子皮肤…这些前沿科学或改写人类未来

来源:MEMS“2020年,新冠疫情爆发,面对困境,我们采取的行动将很可能改写这个时代。” 11月7日,2020腾讯科学WE大会线上举行。腾讯首席探索官网大为在开场演讲中表示,前沿科学突破能帮助我们做好准备拥抱未来…

pythongui管理系统项目_Python实现GUI学生信息管理系统

本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下项目环境:软件环境:OS:RedHat6.3Lib:PygtkLanguage:PythonSupport tool:Glade3项目简述:①Glade3设计用户的登录窗口,功能主窗口…

mysql8 修改加密方式_mysql8修改密码加密方式

mysql8用navicat可视化连接会报错加密方式错误,想要连接mysql8有两种方式1:安装MySQL8客户端2:修改MySQL8的密码加密方式我采用的是第二种,因为服务器上是MySQL8,而我本地是MySQL5,不想在装一个MySQL8&…

Python 操作Excel文件

https://blog.csdn.net/weixin_36279318/article/details/79151225转载于:https://www.cnblogs.com/wu-chao/p/8689120.html

GPT-3:人工智能的新突破

来源:王宏琳科学网博客在过去几个月里,占据海外科技新闻头条主导地位的、人工智能领域最令人兴奋的新事物之一是GPT-3——OpenAI的新的文本生成程序,一种由神经网络驱动的语言模型,一个根据人类用户的提示自动生成文本的人工智能引…

python童年_300行Python代码实现俄罗斯方块,致敬逝去的童年

原标题:300行Python代码实现俄罗斯方块,致敬逝去的童年本文代码基于 python3.6 和 pygame1.9.4。俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块。但是想到旋转,停靠,消除等操作&…

安装织梦系统

织梦系统安装 步骤 1 mkdir /datayum -y install httpd*yum -y install mysql-community-release-el7-5.noarch.rpm wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm yum -y install mysql-community-release-el7-5.noarch.rpmyum install mysql-servers…

把 mysql 整个加载进内存磁盘中_MySQL 缓冲池 是什么?

Mysql 中数据是要落盘的,这点大家都知道。读写磁盘速度是很慢的,尤其和内存比起来更是没的说。但是,我们平时在执行 SQL 时,无论写操作还是读操作都能很快得到结果,并没有预想中的那么慢。可能你会说我有索引啊&#x…

Cell重磅:记忆研究的突破进展!在诺奖成果基础上,用“全光学”组合来“操纵记忆”...

来源:brainnews这项发表在《细胞》杂志上的研究,解释了研究人员如何利用双光子钙成像和双光子光遗传学的“全光学”组合,同时读写小鼠“位置细胞”(神经元的一种)中的活动,而这种细胞可以在虚拟现实环境中进…