如何在MySQL中为node.js模拟“ PROTOCOL_CONNECTION_LOST”错误?
如果出现错误,我的应用程序将崩溃,并且我不知道如何重现此错误。
谢谢。
答案 0 :(得分:0)
听起来真的像您的应用程序崩溃了,因为没有处理该错误。在这种情况下,您可能需要检入初始化MySQL连接的文件。
对于错误,“ PROTOCOL_CONNECTION_LOST”只是一个通用错误对象。如果您想将其扔到应用程序中(实际上并没有停止MySQL的运行):
const err = new Error('Connection lost: The server closed the connection.');
err.fatal = true;
err.code = 'PROTOCOL_CONNECTION_LOST';
throw err;
将其放在要引发错误的代码行中。
如果要模拟MySql引发此错误,则一种(不推荐的方式)是侵入lib。 Connections
对象可以访问Protocol
对象,该对象具有一个隐藏的方法_delegateError
,该方法是在发生协议错误时触发的方法。来源:https://github.com/mysqljs/mysql/blob/master/lib/protocol/Protocol.js
答案 1 :(得分:0)
这是丢失连接协议的解决方案。这个解决方案解决了我
这里是数据库连接
const mysql = require('mysql');
const connection=mysql.createConnection({
host:'localhost',
user:'root',
password:'******',
database:'db_name'
});
connection.connect(function(error){
if(!!error) console.log(error);
else console.log('SQL Database Connected!');
});
module.exports = connection;
`
只需使用pm2运行节点服务器 例如pm2启动app.js install the npm pm2 package