2016-06-26 19 views
0

Ich installierte mysql connector/python und verwende MAMP. Wenn ich versuche, mit einer Datenbank zu verbinden, ist es das, was oben im Terminal kommt:Schnittstellenfehler von mysql

Traceback (most recent call last): 
File "database.py", line 7, in <module> 
    raise_on_warnings= True) 
File "/Library/Python/2.7/site-packages/mysql/connector/__init__.py", line 179, in connect 
     return MySQLConnection(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 95, in __init__ 
    self.connect(**kwargs) 
    File "/Library/Python/2.7/site-packages/mysql/connector/abstracts.py", line 719, in connect 
    self._open_connection() 
    File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 206, in _open_connection 
    self._socket.open_connection() 
    File "/Library/Python/2.7/site-packages/mysql/connector/network.py", line 475, in open_connection 
    errno=2003, values=(self.get_address(), _strioerror(err))) 
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'localhost:8889:3306' (60 Operation timed out) 

Ich habe versucht, in die Anschluss Ordner gehe und überprüfte das network.py Skript aus und es scheint, der Fehler ist darauf zurückzuführen, Schnittstellenfehler Die Dokumentation lautet:

Diese Ausnahme wird für Fehler ausgelöst, die von Connector/Python selbst stammen und nicht mit dem MySQL-Server zusammenhängen. bei Bedarf hier

errors.InterfaceError ist eine Unterklasse von errors.Error

mein Python-Skript:

import mysql.connector 

con = mysql.connector.connect(user='root', 
           password ='root', 
           host='localhost', 
           database='testdb', 
           raise_on_warnings= True) 

cur = con.cursor() 

cur.close() 
con.close() 

Wie der Schnittstelle Fehler beheben?

Antwort

1

Entfernen Sie den Hafen und Doppelpunkt Zeichen von Ihrem Gastgeber:

con = mysql.connector.connect(user='root', 
           password ='root', 
           host='localhost', 
           database='testdb', 
           raise_on_warnings= True) 

Ihr Port bereits auf 3306 gesetzt ist

+0

gibt den gleichen Fehler mit Ausnahme eines ** statt verweigert ** 61 Anschluss gibt ** 60 Zeitüberschreitung der Operation ** .. Könnte es sein, dass die Datenbank nicht mehr existiert und ich MAMP zuerst installieren sollte? – momo

+0

Wenn Sie localhost verwenden, müssen Sie sicherstellen, dass Ihr Mamp läuft und localhost tatsächlich da ist und die Ports bereit sind. – dmitryro

+0

versucht. immer noch der selbe Fehler mit ** 61 Verbindung verweigert **. – momo