丢失Amazon Ec2服务器上的数据库连接

在过去的几个月中,我遇到了一个问题,我在亚马逊EC2服务器上部署了我的应用程序,但至less每天10到30次,我得到这些错误。

1) Error: connect ETIMEDOUT at errnoException (net.js:904:11) at Object.afterConnect [as oncomplete] (net.js:895:19) 2) Error: getaddrinfo ENOTFOUND at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16) -------------------- at Handshake.Sequence (/var/app/current/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20) at new Handshake (/var/app/current/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12) at Protocol.handshake (/var/app/current/node_modules/mysql/lib/protocol/Protocol.js:42:50) at Connection.connect (/var/app/current/node_modules/mysql/lib/Connection.js:72:18) at module.exports.connect (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:276:16) at Object.pool.Pooling.Pool.create (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:125:19) at createResource (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:258:13) at dispense (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:250:9) at Object.me.acquire (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:316:5) at module.exports.enqueue (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:320:19) 3) TypeError: Uncaught, unspecified "error" event. at TypeError (<anonymous>) at EventEmitter.emit (events.js:74:15) at Handshake._callback (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:286:19) at Handshake.Sequence.end (/var/app/current/node_modules/mysql/lib/protocol/sequences/Sequence.js:75:24) at Protocol.handleNetworkError (/var/app/current/node_modules/mysql/lib/protocol/Protocol.js:238:14) at Connection._handleNetworkError (/var/app/current/node_modules/mysql/lib/Connection.js:155:18) at Socket.EventEmitter.emit (events.js:117:20) at net.js:830:16 at process._tickDomainCallback (node.js:459:13) 

任何想法如何解决这些问题?

在发布之前,我在github上也发布了类似的问题,我不满意地回答这是一个亚马逊问题,许多人都面临着这个问题。

那么有关这个问题的任何build议或解决scheme?

你的错误号码2是我前几天被卡住的地方,我通过cloudduelingfind了一个解决scheme,在这里https://github.com/aws/aws-sdk-js/issues/55

希望这有助于,如果你不面临亚马逊问题。

这实际上可能是DNS问题,具体取决于您的设置。 根据你的问题,我假设MySQL数据库安装在你的应用程序所在的主机上,如果没有的话,同样的解决scheme将适用。

编辑您的主机文件并硬编码您的MySQL主机名和IP地址,并检查是否解决了您的问题。 如果是,那么你需要检查你的域名服务器(使用谷歌的8.8.8.8和8.8.4.4),并确保你已经正确地设置你的DNS。

从来没有硬编码任何东西,只有使用这种方法来推断,如果DNS是事实上的原因。