登录
首页 >  数据库 >  MySQL

nodes 操作MySQL 踩坑记录

来源:SegmentFault

时间:2023-02-16 15:31:12 170浏览 收藏

本篇文章给大家分享《nodes 操作MySQL 踩坑记录》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

使用nodejs链接MySQL

先安装,用淘宝镜像

npm i mysql --registry=https://registry.npm.taobao.org

然后代码中

const mysql = require('mysql')

// 创建连接对象
const con = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'password',
    port:3306,
    database:'myblog',
    insecureAuth : true
})

// 开始连接

con.connect()

// 执行sql语句
const sql = "select * from users;"
con.query(sql, (err, result)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(result)
})
// 关闭连接
con.end()

然后控制台执行

node index.js

报错了。。
Client does not support authentication protocol requested by server; consider upgrading MySQL client

clipboard.png

这个问题的原因应该没有权限,解决方法呢,是修改加密规则
进入的MySQL中操作
Mac怎么进入MySQL呢?,执行以下

/usr/local/mysql/bin/mysql -u root -p
回车
输入数据库root账户的密码
进入到MySQL模式

然后执行下面的操作,如图

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

clipboard.png

以为这回可以正常使用了,结果又报错了。
Access denied for user 'root'@'localhost' (using password: YES)

clipboard.png

浏览器搜索了一下为什么会这样
大家的解释如下:
1)mysql的服务器停止

2)用户的端口号或者IP导致

3)mysql的配置文件错误----my.ini等文件

4)root用户的密码错误
然后去反思自己曾经的操作。。。
发现:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
这一步操作,我把自己的密码更改了/(ㄒoㄒ)/~~
隧使用新密码,修改后,执行,成功!

clipboard.png

今天带大家了解了MySQL、Node.js的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表