node.js服务器mysql数据库连接超时的问题
在node服务器连接数据库的时候有时候会连接超时,也就是这个错误Error: connect ETIMEDOUT.在代码的错误位置是mysql的connection.js文件的421到433行代码:
Connection.prototype._handleConnectTimeout = function() { if (this._socket) { this._socket.setTimeout(0); this._socket.destroy(); } var err = new Error('connect ETIMEDOUT'); err.errorno = 'ETIMEDOUT'; err.code = 'ETIMEDOUT'; err.syscall = 'connect'; this._handleNetworkError(err);};这个错误从字面上来看的话就是连接超时,然后我这边出现的错误是因为连接的数据库有问题,在创建数据库的时候要仔细对比参数是否出现问题,像我:
创建数据库连接池的时候:
pool = mysql.createPool({ host: "127.0.0.1", user: "user", password: "", database: "nodejs", port: 3306, });而在数据库的表头的信息是:
Source Server : localhostSource Server Version : 50624Source Host : localhost:3306Source Database : nodejsTarget Server Type : MYSQLTarget Server Version : 50624File Encoding : 65001可以看出服务器的连接地址出现了问题,所以修改成localhost之后就连接成功啦













