【问题标题】:Node MYSQL Connection lost: The server closed the connection节点MYSQL连接丢失:服务器关闭了连接
【发布时间】:2020-09-28 03:26:07
【问题描述】:

我正在为与 mysql 连接的 discord 创建一个机器人。到目前为止,它工作正常,但是在更改了我托管 mysql 服务器的服务器之后(它总是远程的),它开始给出这个错误:

错误:连接丢失:服务器关闭了连接。

我运行查询并创建与服务器的连接的代码是这样的:

  const connection = mysql.createConnection({
    host: config.host,
    user: config.dbUser,
    password: config.dbPassword,
    database: config.database
  });

  connection.connect(function(err) {
    if (err) {
      console.error("[MYSQL] Error: " + err.stack);
      return;
    }

    console.log("[MYSQL] Connected with ID " + connection.threadId + "!");
  });

  function query(sql) {
    return new Promise(resolve => {
      connection.query(sql, function(error, result, fields) {
        if (error) return error;
        const analise = JSON.stringify(result[0]);
        const final = JSON.parse(analise);
        resolve(final);
      });
    });
  }

  exports.connection = connection;
  exports.query = query;

有人可以帮我吗?

【问题讨论】:

    标签: mysql node.js discord.js


    【解决方案1】:
    const mysql = require('mysql2');
    
    const myDB = mysql.createPool({
      host: process.env.MYSQL_HOST,
      user: process.env.MYSQL_USER,
      password: process.env.MYSQL_PASSWORD,
      port: process.env.MYSQL_PORT,
      database: process.env.MYSQL_DB_NAME,
    });
    
    const queryConstructor = pool => (query, args = []) =>
      new Promise((resolve, reject) => {
        pool.getConnection((err, connection) => {
          if (err) {
            return reject(err);
          }
          connection.query(query, args, (err, results) => {
            connection.release();
            if (err) {
              return reject(err);
            }
            resolve(results);
          });
        });
      });
    
    const query = queryConstructor(myDB);
    
    query('SELECT 1 + 1')
      .then(console.log)
      .catch(console.error);
    
    module.exports = query;
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多