MySQL阻止主机 - 连接太多

时间:2016-08-21 00:17:13

标签: javascript mysql node.js phpmyadmin npm

我在Node.js上运行服务器,我做了很多MySQL查询,每秒大约1-3次查询,取决于流量。因此,我使用mysql npm模块进行了池查询,我就是这样做的:

var mysql = require('mysql');
var pool = mysql.createPool({
  host: ip,
  multipleStatements: true,
  user: '*********',
  password: '*********',
  database: '*********',
  connectionLimit: 0,
  maxListeners: 0
});

每当我想运行查询时,我都会运行此函数:

function do_query(query, callback) {
  pool.getConnection(function(err, connection) {
    if(err) {
      console.log(err);
      if(connection) {
        connection.release();
      }
    } else {
      connection.query(query, function(err, results, fields) {
        connection.release();
        return callback(err, results, fields);
      });
    }
  });
}

几小时或几天后,我总是收到此错误

  

错误:ER_HOST_IS_BLOCKED:主持人' ******'由于许多连接错误而被阻止;使用' mysqladmin flush-hosts'取消阻止。

为什么在我将connectionLimit设置为"无限"时会被阻止?我没有正确释放连接吗?

0 个答案:

没有答案