nodejs+mysql的使用及连接时出现的问题及异步问题解决

mysql的使用及其中问题解决,其他问题请留言

首先呢是在nodejs环境下安装npm包mysql

npm i mysql
//或者
yarn add mysql

新建db.js文件引入mysql并创建连接

var mysql = require('mysql');
//创建数据池
//推荐使用这种写法,如果每次都是用createConnect来连接那么每次还需要进行关闭数据库连接的操作,略显繁琐
var pool  = mysql.createPool({
  connectionLimit : 10,
  host            : 'localhost',	//默认情况下的主机名
  user            : 'root',			//默认情况下的用户名
  password        : 'secret',		//安装时设置的密码
  database        : 'my_db'			//连接的数据库名字
});
//暴露我们封装的方法,使用详情看下方
//使用时传入对应参数,sql为相应sql语句,data为插入或修改所需要的数据
module.exports = (sql, data = []) => {
//使用Promise解决mysql的命令处理异步问题
    return new Promise((resolve, reject) => {
    //在数据池中进行操作
        pool.query(sql, data, function(error, results, fields) {
            if (error) {
                reject(error.message)
            } else {
                resolve(results)
            }
        })
    })
}

在需要操作数据库时引入上方db.js文件并调用导出函数

注意,异步函数调用时记得使用async函数配合Promise使用

const db = require('../utils/db')
//传参调用函数即可
let result = await db('SELECT * FROM users;', [])
//或者插入数据不需要返回值的操作
await db('insert into ticket(expires, jsapi_ticket) values(?, ?)', [填写插入数据])

下面呢再讲一下mysql连接出错的问题

  • 首先呢可能就是主机用户名密码的正确性问题,仔细检查
  • 查看连接数据库是否创建
  • 由于安装时不清楚留下的问题,详细如下

问题状况

报出Client does not support authentication protocol requested by server; consider upgrading MySQL client这种错误

在这里插入图片描述
种种情况呢是因为你安装了高版本的mysql在安装时的一个选项问题

  • 解决方法:
    在这里插入图片描述
    在mysql程序包中找到MySQL Installer - Community并打开
    在这里插入图片描述
    点击进入重新设置,开始可以默认配置,到下边认证模式记得切换
    第一个是很严格的加密选项,所以才会出现身份验证不支持的错误
    其余选项按照之前默认配置即可
    在这里插入图片描述
    完成修改后重启mysql即可,谢谢观看!
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.温m_

如果喜欢可以支持打赏小哥!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值