Node.js MySQL: 「接続喪失」エラーを効果的に処理する
Node.js で MySQL を使用すると、エラーが発生する場合がありますサーバーが接続を閉じたことを示します。この問題は、サーバーによる TCP 接続のシャットダウンが原因で発生することがよくあります。
エラーについて
エラーは通常、次のように表示されます。
Error: Connection lost: The server closed the connection. ...
これは、Node.js アプリケーションと MySQL サーバーの間に確立された接続が終了したことを示唆しています。
解決策
この問題を解決するには、接続が失われたときに自動的に再接続する接続処理メカニズムを利用できます。以下は、サーバーの切断を処理する方法を示すコード スニペットです:
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) { if (err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay before reconnecting } }); connection.on('error', function(err) { console.log('db error', err); if (err.code === 'PROTOCOL_CONNECTION_LOST') { // Lost connection handleDisconnect(); } else { throw err; } }); } handleDisconnect();
分析
追加注
handleDisconnect() 関数は、手動で呼び出すことも、最初の接続試行が失敗したときに自動的に呼び出すこともできます。これにより、接続が予期せず失われた場合でも、アプリケーションは動作を継続できます。
この接続処理メカニズムを実装することで、接続の喪失による Node.js/MySQL アプリケーションのクラッシュを防ぐことができます。これにより、プロジェクトの信頼性と安定性が大幅に向上します。
以上がNode.js MySQL アプリケーションでの「接続喪失」エラーを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。