使用连接池node-mysql

时间:2017-12-14 10:35:15

标签: mysql node.js apollo

我使用Meteor.js,Apollo / GraphQL和带有mysql npm包的MySQL数据库作为驱动程序。

我正在创建一个连接池,如下所示:

import { createPool } from 'mysql';

const pool = createPool({
  host: 'localhost',
  user: 'root',
  password: 'asdfasdf',
  database: 'soundcraft',
});

export function query(sql) {
  // const connection = this;
  return new Promise((resolve, reject) => {
    pool.query(sql, (err, results) => {
      if (err) {
        reject(err);
      } else {
        resolve(results);
      }
    });
  });
}

我不确定发生了什么,但是在一些数据库请求(等于连接限制)之后,它只会冻结并且不会报告任何错误,并且它会一直冻结,直到服务器重新启动。

编辑:经过一些阅读并找到this issue后,它似乎与发布的连接无关,而是由MySQL连接保持打开的事实。

仅增加连接限制似乎是不切实际的,因为最终用户仍然会用完他们的连接限制。

看起来我并没有以正确的方式解决这个问题

0 个答案:

没有答案