ホームページ >データベース >mysql チュートリアル >Node.js MySQL 接続が午前 0 時から午前 2 時の間に失敗するのはなぜですか? どうすれば修正できますか?
MySQL 接続の問題: 「接続が失われました: サーバーが接続を閉じました」
問題:
MySQL で Node.js を使用すると、特定の場所で「接続が失われました: サーバーが接続を閉じました」エラーが発生します
解決策:
この問題に対処するには、次の手順に従ってください:
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { // Recreate the connection connection = mysql.createConnection(db_config); connection.connect(function(err) { if(err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay before reconnecting } }); // Handling connection errors connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { handleDisconnect(); } else { throw err; } }); } handleDisconnect();
説明:
このコード スニペットは、MySQL への新しい接続を作成します。切断が発生したときにサーバーにアクセスします。 setTimeout 関数は、ホット ループを防ぐために遅延を導入し、スクリプトが再接続中に他のリクエストを処理できるようにします。
エラー ハンドラーは、通常サーバーの再起動時に発生する「PROTOCOL_CONNECTION_LOST」エラーを処理するように構成されています。他のエラーが再スローされ、問題に関するより詳細な情報が提供されます。
handleDisconnect() 関数が呼び出され、エラー処理と再接続プロセスが開始されます。
以上がNode.js MySQL 接続が午前 0 時から午前 2 時の間に失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。