「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL エラー HY) を解決する方法: &#localhost 上の MySQL サーバーに接続できません:

MySQL エラー HY) を解決する方法: &#localhost 上の MySQL サーバーに接続できません:

2024 年 8 月 28 日に公開
ブラウズ:514

How to Resolve MySQL Error HY): Can

MySQL エラー [ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)] が発生すると、特に即時アクセスが必要な場合にイライラすることがあります。データベースに。このエラーは一般的であり、通常、MySQL クライアントが MySQL サーバーとの接続を確立できないことを示します。以下では、考えられる原因を分析し、この問題を解決するための解決策を提供します。このブログを読み終えるまでに、このエラーを効率的にトラブルシューティングして修正するための知識が身につくでしょう。


エラーを理解する

エラー メッセージ [エラー 2003 (HY000): 'localhost:3306' (10061) の MySQL サーバーに接続できません] は通常、次の場合に発生します。

  1. MySQL サーバーが実行されていません: MySQL サービスがアクティブでない場合、クライアントは接続を確立できません。
  2. ポート 3306 が開いていません: ポート 3306 は MySQL のデフォルトのポートです。ブロックされている場合、またはリッスンされていない場合、接続は失敗します。
  3. ファイアウォールまたはセキュリティ ソフトウェア: ファイアウォール設定またはセキュリティ ソフトウェアによって、ポート 3306 へのアクセスがブロックされる場合があります。
  4. MySQL 構成の問題: MySQL 構成ファイル (my.cnf または my.ini) が正しく設定されていない可能性があります。
  5. ネットワークの問題: リモート接続の場合、ネットワーク構成により MySQL サーバーにアクセスできない可能性があります。

段階的な解決策

1. MySQL サービスが実行されているかどうかを確認します

最初のステップは、MySQL サービスが実行されていることを確認することです。

  • Windows: サービス アプリ (services.msc) を開き、MySQL または MySQL80 を見つけて、実行されているかどうかを確認します。そうでない場合は、サービスを開始します。
  • Linux/MacOS: ターミナルで次のコマンドを実行します。
  sudo systemctl status mysql

サービスが非アクティブな場合は、次のコマンドを使用して開始します:

  sudo systemctl start mysql

2. MySQL がポート 3306 でリッスンしていることを確認します

MySQL がポート 3306 でリッスンするように構成されていることを確認します。これは、MySQL 構成ファイルを調べることで確認できます。

  • MySQL 構成ファイル (Linux/MacOS の場合は my.cnf、Windows の場合は my.ini) を開きます。
  • 次の行を探します。
  [mysqld]
  port=3306
  bind-address=127.0.0.1

ポートが 3306 に設定されており、バインド アドレスが正しいことを確認してください。

  • Linux/MacOS: netstat コマンドを使用して、MySQL がポート 3306 でリッスンしているかどうかを確認することもできます。
  sudo netstat -plnt | grep mysql

3. ファイアウォールとセキュリティ ソフトウェアを確認する

ファイアウォールまたはセキュリティ ソフトウェアがポート 3306 をブロックし、接続を妨げている可能性があります。

  • Windows ファイアウォール:
    • セキュリティが強化された Windows Defender ファイアウォールを開きます。
    • 受信ルールを確認し、ポート 3306 でのトラフィックを許可するルールがあることを確認してください。
  • Linux (UFW):
  sudo ufw allow 3306/tcp

ルールが有効かどうかを確認するには:

  sudo ufw status

4. MySQL 接続をテストする

サービスが実行中でポート 3306 が開いていることを確認したら、接続をテストします。

  • ターミナルで mysql コマンドを使用します。
  mysql -u root -p -h 127.0.0.1 -P 3306

それでもエラーが発生する場合は、ユーザー権限に問題があるか、MySQL ユーザーがローカルホストから接続できないことが原因である可能性があります。

5. MySQL ユーザー権限を確認する

MySQL root ユーザーまたは接続しようとしているユーザーに適切な権限がない可能性があります。必要な権限を付与するには:

  • root として MySQL にログインします。
  mysql -u root -p
  • 次のコマンドを実行します。
  GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'localhost' IDENTIFIED BY 'your_password';
  FLUSH PRIVILEGES;

これにより、ユーザーが接続するための正しい権限を持っていることが保証されます。

6. MySQL ログを確認する

上記の手順で問題が解決しない場合は、MySQL ログを確認するとさらに詳しい情報が得られます。

  • Linux:
  sudo tail -f /var/log/mysql/error.log
  • Windows: 通常、MySQL インストール ディレクトリにある MySQL エラー ログ ファイルを確認します。

7. MySQL の再インストールまたは修復

上記の解決策を試しても問題が解決しない場合は、MySQL を修復または再インストールすることを検討してください。 Windows では、MySQL インストーラーを使用してインストールを修復できます。 Linux では、
を使用して再インストールできます。

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get install mysql-server

結論

[エラー 2003 (HY000): 'localhost:3306' (10061) の MySQL サーバーに接続できません] は、MySQL サービスのダウン、ファイアウォール設定、または構成が正しくありません。このブログで概説されている手順に体系的に従うことで、効果的にトラブルシューティングを行って問題を解決し、MySQL サーバーへのスムーズで中断のないアクセスを確保できます。

さらに詳細なチュートリアルとトラブルシューティング ガイドについては、お気軽にブログを参照し、購読してデータベース管理とソフトウェア開発の最新のヒントやコツを入手してください。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/javafullstackdev/how-to-resolve-mysql-error-2003-hy000-cant-connect-to-mysql-server-on-localhost3306-158l?1権利侵害、削除するには、[email protected] までご連絡ください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3