ホームページ >データベース >mysql チュートリアル >PyMySQL を使用して Localhost 上の MySQL に接続できないのはなぜですか?

PyMySQL を使用して Localhost 上の MySQL に接続できないのはなぜですか?

DDD
DDDオリジナル
2024-11-04 11:51:12824ブラウズ

Why Can't I Connect to MySQL on Localhost with PyMySQL?

ローカルホスト上の PyMySQL を使用した MySQL への接続に関するトラブル

PyMySQL を使用してローカルホスト上の MySQL への接続を確立しようとした場合:

<code class="python">import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', host='localhost')</code>

次のエラーが発生する場合があります:

socket.error: [Errno 111] Connection refused
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")

mysql コマンドまたは phpMyAdmin による接続の成功によって MySQL が実行されているにもかかわらず、この問題は Python 2.7 と Python 3.2 の両方で発生します。さらに、Python 2 の MySQLdb を使用すると、ほぼ同じコード スニペットが機能します。

考えられる解決策

この問題について考えられる 2 つの説明:

  1. ソケットの場所: mysqladmin 変数を使用します | grep ソケットを使用してソケットの場所を特定し、以下を使用して接続します。
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
  1. ポート割り当て: mysqladmin 変数を使用してポートが 3306 に設定されていることを確認します。 grep ポート。異なる場合は、接続のポートを手動で指定します:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>

以上がPyMySQL を使用して Localhost 上の MySQL に接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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