2016-06-07 16 views
0

Ich möchte mit einigen Daten aus einer SQL-Datenbank in Python interagieren, aber habe Verbindungsprobleme. Ich habe bestätigt, dass die folgenden Informationen korrekt sind, da ich diese Anmeldeinformationen (gespeichert in einer YAML-Datei) verwenden kann, um mich über MySQL Workbench 6.3 CE bei der Datenbank anzumelden.OperationalError beim Verbinden - Psycopg2

user_db : ******* 
user_host : ********** 
user_port : 3306 
user_username: username 
user_password: password 

Hier ist der Verbindungscode in meinem IPython Notebook:

prod_db = psycopg2.connect(database=credentials['user_db'], 
user=credentials['user_username'], 
password=credentials['user_password'], 
host=credentials['user_host'], 
port=credentials['user_port']) 

Unabhängig davon, ob oder nicht, ich versuche mit der YAML-Datei zu verbinden oder einfach nur die Werte innerhalb es verwenden, erhalte ich diesen Fehler in mein Ipython-Notizbuch. Die angezeigte Linie ist die "Port" -Linie oben.

OperationalError: could not send data to server: Software caused connection 
abort (0x00002745/10053) 
could not send startup packet: Software caused connection abort 
(0x00002745/10053) 

Ich bin in der Lage identischen Code zu verwenden, um eine Rotverschiebung Datenbank einzuloggen über Port 5439, aber ich frage mich, was diese besondere Fehler verursacht.

+0

Es kann sich um SSL-Einstellungen der Verbindung beziehen. Benutzt du es? Wenn ja, wird eine Nicht-ssl-Verbindung wahrscheinlich sofort gelöscht. Fügen Sie 'sslmode = require' zu ​​den Verbindungsparametern hinzu. – 9000

+1

Sie haben die Frage als mysql markiert, aber psycopg ist ein PostgreSQL-Adapter. – limbo

+1

Ich glaube der Adapter ist das Problem. Ich würde empfehlen, pymysq für eine MySQL-Datenbank zu verwenden. – limbo

Antwort

2

Es scheint, als ob Sie versuchen, eine Verbindung zu MySQL (Port 3306) mit einer PostgreSQL-Client-Bibliothek (psycopg2), die auch für Redshift funktioniert, weil Redshift auf Postgres basiert.

Bitte versuchen Sie, PyMySQL oder einen der alternatives zu installieren.

Verwandte Themen