Node连接MySQL

222 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

步骤如下

1)安装mysql:

npm install mysql --save

2)引用和创建mysql链接实例:

// database.js

const mysql = require('mysql')

const options = {
    // hose
    host:'localhost',
    // 端口
    port:3306,
    // 用户名
    user:'root',
    // 密码
    password:'123456',
    // 数据库名
    database:'test'
}

const objCon = mysql.createConnection(options)

objCon.connect(()=>{
    console.log('链接成功')
})

// 关闭链接MySQL
objCon.end()

注意: node ./database.js运行文件时可能报错:Client does not support authentication protocol requested by server……

这是因为MySQL8.0换了新的身份验证方式:caching_sha2_password,旧的验证方式是:mysql_native_password,以默认创建的用户和密码都是新的身份验证方式。而npm包里的mysql模块还是使用原来的mysql_native_password加密方式,两者不互通,所以连接就会报错。

解决方法

将用户密码从caching_sha2_password加密方式改回的 mysql_native_password加密方式。

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

此时再运行"node ./database.js"就成功运行了,不报错了。