使用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
这个问题的原因应该没有权限,解决方法呢,是修改加密规则
进入的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;
以为这回可以正常使用了,结果又报错了。
Access denied for user 'root'@'localhost' (using password: YES)
浏览器搜索了一下为什么会这样
大家的解释如下:
1)mysql的服务器停止
2)用户的端口号或者IP导致
3)mysql的配置文件错误----my.ini等文件
4)root用户的密码错误
然后去反思自己曾经的操作。。。
发现:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
这一步操作,我把自己的密码更改了/(ㄒoㄒ)/~~
隧使用新密码,修改后,执行,成功!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。