ローカルホスト上の MySQL に接続する際の PyMySQL 接続エラーのトラブルシューティング
PyMySQL を使用してローカルホスト上の MySQL データベースに接続しようとすると、次のような問題が発生する場合があります。エラー メッセージ:
socket.error: [Errno 111] Connection refused pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")
この問題に対処するには、次のトラブルシューティング手順を検討してください。
MySQL サービスのステータスを確認する
MySQL がサービスが実行中です。コマンド プロンプトで確認できます。
mysqladmin -u root -p status
ネットワーク接続
データベース ホスト (通常は localhost) がコンピュータからアクセス可能であることを確認します。次のコマンドを実行します。
ping localhost
MySQL ソケットの場所を確認します
次のコマンドを実行して、MySQL ソケットへのパスを確認します。
mysqladmin variables | grep socket
PyMySQL 接続文字列の unix_socket パラメータを取得したパスに設定します。例:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
MySQL ポートの確認
次のコマンドを使用して、MySQL サーバーで使用されているポートを確認します:
mysqladmin variables | grep port
ポートがデフォルトの 3306 ではない場合は、PyMySQL 接続文字列にポート パラメータを設定します。
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>
追加のトラブルシューティングのヒント
以上がPyMySQL を使用して Localhost 上の MySQL に接続すると「接続が拒否されました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。