后端(node.js)连接MySQL数据库报错

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 : '用户名或密码错误'
            })
        }
    })
}

个人学习记录,内容仅参考

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值