NodeJS MySQL,连接丢失时重新连接?
我正在尝试这样做,以便在数据库失去连接时我的代码不会崩溃 它将连接到一个易于多次重新启动和更新的数据库,这意味着程序将在失去连接时崩溃 我尝试添加NodeJS MySQL,连接丢失时重新连接?,mysql,node.js,node-mysql,Mysql,Node.js,Node Mysql,我正在尝试这样做,以便在数据库失去连接时我的代码不会崩溃 它将连接到一个易于多次重新启动和更新的数据库,这意味着程序将在失去连接时崩溃 我尝试添加setInterval(Connect,5000)因此,如果失去连接,它将尝试重新连接,但运气不佳 有人能帮我找出哪里出了问题吗?假设您使用的是mysqlnpm包,您可以使用库提供的连接池: 从池中检索以前的连接时,会向服务器发送一个ping数据包,以检查连接是否仍然良好 它很容易使用,而不是使用createConnection您可以使用create
setInterval(Connect,5000)
因此,如果失去连接,它将尝试重新连接,但运气不佳
有人能帮我找出哪里出了问题吗?假设您使用的是
mysql
npm包,您可以使用库提供的连接池:
从池中检索以前的连接时,会向服务器发送一个ping数据包,以检查连接是否仍然良好
它很容易使用,而不是使用createConnection
您可以使用createPool
var pool=mysql.createPool({
连接限制:2,
主持人:“example.org”,
用户:“bob”,
密码:“secret”,
数据库:“我的数据库”
});
然后使用池查询数据库
它还有许多其他好处,例如负载平衡连接。假设您使用的是
mysql
npm包,您可以使用库提供的连接池:
从池中检索以前的连接时,会向服务器发送一个ping数据包,以检查连接是否仍然良好
它很容易使用,而不是使用createConnection
您可以使用createPool
var pool=mysql.createPool({
连接限制:2,
主持人:“example.org”,
用户:“bob”,
密码:“secret”,
数据库:“我的数据库”
});
然后使用池查询数据库
它还有许多额外的好处,例如负载平衡连接。如果您刚刚开始使用节点和数据库,请考虑使用。@tadman比我更了解它。Sequelize是用于节点JS和DB连接的出色工具。我还要提出一个问题,为什么它会继续连接,然后失去连接?似乎是一个拱门问题。如果你刚刚开始使用节点和数据库,就考虑使用。@塔德曼击败了我。Sequelize是用于节点JS和DB连接的出色工具。我还要提出一个问题,为什么它会继续连接,然后失去连接?似乎是一个主要问题。在执行了您所说的操作后,我遇到了完全相同的问题:(结果表明,池已经自动执行这些检查,这意味着没有问题,并且我不需要添加函数setInterval。在执行了您所说的操作后,我遇到了完全相同的问题:(事实证明,池已经自动执行了这些检查,这意味着没有问题,我不需要添加函数setinterval
function Connect() {
var connection = mysql.createConnection({
host : 'hidden',
user : 'hidden',
password : 'hidden',
database : 'hidden'
});
connection.connect(function(err) {
if (err) {
console.log('Error connecting to Database'.red);
setInterval(Connect, 5000);
connection.end();
}else{
console.log('Connected to Database'.green);
}
});
}
Connect();