node项目在运行时出现以下报错
```javascript
events.js:292
throw er; // Unhandled 'error' event
^
Error: Connection lost: The server closed the connection.
at Protocol.end (F:\mywork\xdwlgk\node_modules\mysql\lib\protocol\Protocol.js:112:13)
at Socket.<anonymous> (F:\mywork\xdwlgk\node_modules\mysql\lib\Connection.js:94:28)
at Socket.<anonymous> (F:\mywork\xdwlgk\node_modules\mysql\lib\Connection.js:526:10)
at Socket.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1225:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on Connection instance at:
at Connection._handleProtocolError (F:\mywork\xdwlgk\node_modules\mysql\lib\Connection.js:423:8)
at Protocol.emit (events.js:315:20)
at Protocol._delegateError (F:\mywork\xdwlgk\node_modules\mysql\lib\protocol\Protocol.js:398:10)
at Protocol.end (F:\mywork\xdwlgk\node_modules\mysql\lib\protocol\Protocol.js:116:8)
at Socket.<anonymous> (F:\mywork\xdwlgk\node_modules\mysql\lib\Connection.js:94:28)
[... lines matching original stack trace ...]
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
fatal: true,
code: 'PROTOCOL_CONNECTION_LOST'
}
报错原因
mysql自带一段时间无动作会自动关闭的机制
解决方案
```javascript
var mysql = require('mysql')
var sqlConfig = {
host: 'localhost',
user: 'root',
password: 'pwd',
database: 'dbbase'
}
var conn = function(){
let connection = mysql.createConnection(sqlConfig)
connection.connect()
connection.on('error',err=>{
console.log('Re-connecting lost connection: ');
connection = mysql.createConnection(sqlConfig)
})
return function(){
return connection
}
}
module.exports = conn()
浏览器出现以下报错信息
无法访问此网站localhost 拒绝了我们的连接请求。
请试试以下办法:
检查网络连接
检查代理服务器和防火墙
ERR_CONNECTION_REFUSED
这是因为端口冲突或者端口错误导致的,我这里是因为端口号不对,修改端口号后成功解决。
记录在工作期间遇到的坑,如有错误,请大家更正!