ホームページ >データベース >mysql チュートリアル >Node.js MySQL ECONNREFused エラー: Unix ソケットを使用して接続するにはどうすればよいですか?

Node.js MySQL ECONNREFused エラー: Unix ソケットを使用して接続するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 11:34:12856ブラウズ

Node.js MySQL ECONNREFUSED Error: How to Connect Using a Unix Socket?

Node.js MySQL: 接続時の「ECONNREFUSED」エラーの解決

Node.js 経由で MySQL サーバーに接続しようとすると、 「ECONNREFUSED」エラーが発生すると、特に PHP/Apache サーバーが同じ上にある場合、混乱する可能性があります。マシンは問題なく動作します。

このエラーの原因を調査し、成功した解決策を提供しましょう。

課題

提供されたコード スニペットでは、MySQL ホストは「localhost」として定義されており、マシン上の MySQL サーバーは Unix ソケットでリッスンします。標準の TCP ポートではなく、「/var/run/mysqld/mysqld.sock」。この不一致により、Node.js アプリケーションが TCP を使用して接続しようとすると「ECONNREFused」エラーが発生します。

解決策

この問題を解決するには、次の変更を行う必要があります。 TCP ポートの代わりに Unix ソケット パスを指定する接続オプション。これは、接続オプションに次の行を追加することで実現できます:

port: '/var/run/mysqld/mysqld.sock'

Updated Code

var mysql_link = {
  host: 'localhost',
  port: '/var/run/mysqld/mysqld.sock', // Modified to specify Unix socket path.
  database: 'nodetest',
  user: 'root',
  password: 'xxx'
};

結論

正しい接続オプションを指定することで、Node.js アプリケーションが確実に正常な接続を確立できるようになります。 MySQL サーバーに移行し、その運用をシームレスに継続します。今後このようなエラーが発生しないようにするには、MySQL サーバーの構成を確認し、適切な接続パラメーターを使用することが重要です。

以上がNode.js MySQL ECONNREFused エラー: Unix ソケットを使用して接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。