MySQL 연결 끊김: "연결 끊김: 서버가 연결을 닫았습니다" 오류 해결
Node.js 및 MySQL로 작업할 때, 서버가 연결을 닫았다는 오류가 가끔 발생할 수 있습니다. 이는 대개 오전 12시에서 2시 사이에 발생하므로 당황스럽습니다. 오류 메시지는 다음과 같이 자주 나타납니다.
Error: Connection lost: The server closed the connection. at Protocol.end (/opt/node-v0.10.20-linux-x64/IM/node_modules/mysql/lib/protocol/Protocol.js:73:13) at Socket.onend (stream.js:79:10) at Socket.EventEmitter.emit (events.js:117:20) at _stream_readable.js:920:16 at process._tickCallback (node.js:415:13)
권장 해결 방법을 시도해도 문제가 지속됩니다. 이 오류를 효과적으로 처리하기 위한 보다 포괄적인 접근 방식은 다음과 같습니다.
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { connection = mysql.createConnection(db_config); // Recreate the connection connection.connect(function(err) { // Attempt to connect if(err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay reconnection attempts } }); connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection lost due to server restart or idle timeout handleDisconnect(); } else { throw err; } }); } handleDisconnect();
이 코드는 다음을 수행합니다.
이 접근 방식을 구현하면 MySQL 연결 끊김 오류를 효과적으로 처리하고 원활한 데이터베이스 연결을 보장할 수 있습니다. Node.js 애플리케이션에서.
위 내용은 Node.js MySQL 연결이 자정 무렵에 계속 끊어지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!