1.简介
由于最新版的mysql数据库服务的身份验证方法的改变,我在使用mysql第三库时连接一直报错,提示我身份验证有问题。所以我的解决方案是使用mysql2第三库。
2.安装mysql2
npm i -s mysql2
3.创建数据库连接实例
const mysql = require('mysql2');
const db = mysql.createPool({
host : '127.0.0.1',// 连接的端口默认即可
user : 'root', //连接数据库的用户名
password : 'LiU1121568QW',//数据库用户的密码
database : 'data',//连接到数据库后所使用的数据库
charset:'utf8'// 这句可以忽略
})
// 暴露对象
module.exports = db;
4.大功告成
下面是我使用其的例子
const db = require('../db/index')
const aes = require('../js/aes')
const auth = require('../middleware/auth')
exports.login = (req,res) => {
const sql = 'select * from user where name = ? and password = ?';
db.query(sql,[req.query.name,aes.decrypt(req.query.password)],(err,data) => {
if(err){
return res.send({
status : 400,
message : '登录失败'
})
}
if(data.length > 0){
var token = auth.createToken(data[0])
res.send({
status : 200,
data : token,
message : '登录成功'
})
}else{
res.send({
status : 202,
message : '用户名或密码错误'
})
}
})
}
个人学习记录,内容仅参考