原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决办法:把mysql用户登录密码加密规则还原成mysql_native_password,再更新密码
具体步骤:
1.打开navicat中root用户
2.修改加密规则为mysql_native_password然后保存
3.打开工具中命令列界面
ALTER USER 'root'@' localhost' IDENTIFIED WITH mysql_native_password BY ‘123456';
4.重新运行mysql.js成功
连接数据库的mysql.js代码如下:
//1. 导入mysql模块
const mysql = require('mysql')
//2.建立与Mysql数据库的连接
var db = mysql.createPool({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test'
});
//检测能否正常工作
db.query('SELECT * FROM user',(err,results) => {
if(err)
return console.log(err.message)
console.log(results)
})
数据库中user表如下