【Node】使用Node.js连接数据库时报错客户端不支持服务器请求的身份验证协议

使用Node.js连接数据库时报错

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

这是因为MySQL8.0以上的版本Node还暂时不支持导致的,有两种解决办法

1.降低MySQL的版本,

这种操作比较简单,直接去官网重新下载就好了,这里就不过多的赘述了MySQL官网

2.使用CMD连接数据库

我们在这里主要就讲解这种方法

mysql -u root -p
Enter password: ******

星号是自己的密码
登录成功后再输入这一行命令

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

这里的123456是我的密码,替换为自己的即可
最后刷新一下权限

 FLUSH PRIVILEGES;

再次使用Node.js连接就可以了
最后给大家看一下我的代码

//1: 导入mysql依赖包,  mysql属于第三方的模块就类似于 java.sql一样的道理
const { Console } = require("console");
var mysql=require("mysql");
// 1: 创建一个mysql的Connection对象
// 2: 配置数据连接的信息 
var connection = mysql.createConnection({
    host:"127.0.0.1",
    user:"root",
    port:3306,
    password:"123456",
    database:"testdb"
})
// 3:开辟连接
connection.connect();
// 4: 执行curd
connection.query("select * from kss_user",function(error,results,fields){
    //如果查询出出错,直接抛出
    if(error){
        throw error;
    }
    //查询成功
    console.log("results = ",results);
});
// 5: 关闭连接
connection.end();
// 最后一步:运行node db.js 查看效果

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Genius-Sue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值