NODEJS下测试MYSQL数据连接

【2021-11-26】

因为代码和数据库在不同的机器上,所以要在代码中写上一段小程序,用与检查数据库是否连接正确,测试了两三天,终于完成了。

背景:

1)windows7

2)nodejs v12.22.6

3)mysql 2.18.1

考虑到连接时间长,用Promise

考虑到有连接错误,用try catch

try catch和Promise 不能嵌套(或者说我没有写成功)

以下是代码:

'use strict';
//测试MYSQL数据库连接

const mysql = require('mysql');
const mysqlconfig = require('../config/mysqlconfig');
const _connection = mysql.createPool(mysqlconfig);

function getConnection() {
  return new Promise((resolve, reject) => {
    _connection.getConnection((err) => {
      if (err) {
        //console.log(err)
        //console.log('数据库连接失败1.')
        reject(false)
      } else {
        //console.log('数据库连接成功1.')
        resolve(true)
      }
    })
  })
}
async function mysqltest() {
  try {
    let isok = await getConnection()
    //console.log('isok',isok)
    if (isok) {
      //console.log('数据库连接成功2.')
      return true
    } else {
      //console.log('数据库连接失败2.')
      return false
    }
  } catch (error) {
    //console.log('数据库连接失败3.')
    return false
  }
}
//  mysqltest();
exports.mysqltest = mysqltest;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用Node.js连接MySQL数据库时,有时可能会遇到一些问题。其一个常见的问题是"ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client"。这个错误通常是由于MySQL服务器使用了较新的身份验证协议,而Node.jsMySQL客户端不支持该协议所导致的。为了解决这个问题,你可以尝试升级你的MySQL客户端。你可以参考\[2\]提供的错误信息来解决这个问题。另外,如果你遇到其他连接问题,你可以参考\[3\]提供的参考链接,其包含了一些常见的错误和解决方法。希望这些信息对你有帮助! #### 引用[.reference_title] - *1* [nodejs连接mysql数据库](https://blog.csdn.net/LLL3189860667/article/details/126844946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [node.js连接mysql出现错误](https://blog.csdn.net/Salttswordfish/article/details/124830443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关于 Node.js连接 Mysql 数据库时的一些错误解决办法](https://blog.csdn.net/qq_52318356/article/details/128488255)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值