Heim >Datenbank >MySQL-Tutorial >Warum kann ich mit PyMySQL keine Verbindung zu MySQL auf Localhost herstellen?

Warum kann ich mit PyMySQL keine Verbindung zu MySQL auf Localhost herstellen?

DDD
DDDOriginal
2024-11-04 11:51:12823Durchsuche

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

Probleme beim Herstellen einer Verbindung zu MySQL mit PyMySQL auf Localhost

Beim Versuch, mit PyMySQL eine Verbindung zu MySQL auf Localhost herzustellen:

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

Möglicherweise tritt der folgende Fehler auf:

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

Dieses Problem besteht sowohl in Python 2.7 als auch in Python 3.2 weiterhin, obwohl MySQL ausgeführt wird, was durch erfolgreiche Verbindungen über den MySQL-Befehl oder phpMyAdmin bestätigt wurde. Darüber hinaus funktioniert ein nahezu identischer Codeausschnitt mit MySQLdb in Python 2.

Mögliche Lösungen

Zwei mögliche Erklärungen für dieses Problem:

  1. Socket-Standort: Mysqladmin-Variablen verwenden | grep socket, um den Socket-Standort zu identifizieren und eine Verbindung herzustellen mit:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
  1. Portzuweisung: Überprüfen Sie mithilfe von mysqladmin-Variablen, ob der Port auf 3306 eingestellt ist | grep-Port. Wenn es anders ist, geben Sie den Port manuell in der Verbindung an:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>

Das obige ist der detaillierte Inhalt vonWarum kann ich mit PyMySQL keine Verbindung zu MySQL auf Localhost herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn