Ich benutze Python 3.5, pymysql 0.7.6 auf MacOS X 10.12.Verbindung zu MySQL in einem Remote-Server von Python
Ich versuche mit Python auf eine MySQL-Datenbank in einem Remote-Server zuzugreifen. Ich habe keine Probleme in der Befehlszeile für den Zugriff mit:
ssh [email protected]
[email protected]'s password: my_server_password
und dann in dem Server:
mysql my_database -p
Enter password: my_database_password
Und es funktioniert und ich kann alle Art von Sachen mit meiner Datenbank tun. Nun versuche ich in Python das gleiche zu tun, im Anschluss an die Dokumentation oder die zahlreichen Beispiele, die ich in anderen Beiträgen hier gefunden habe:
import pymysql
cnx = pymysql.connect(host='XXX.XXX.XXX.XXX', port='3306', user='root', password='my_server_password', db='my_database')
Und es funktioniert nicht, als Störung zu erhalten:
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'XXX.XXX.XXX.XXX' ([Errno 61] Connection refused)")
Die Anmeldeinformationen sind die richtigen Anmeldeinformationen und ich habe überprüft, dass der Port der richtige Port ist, wie es in anderen Posts vorgeschlagen wird. Ich vermute, dass es mit der Datenbank verbunden sein könnte, die auch ein Passwort hat, nicht nur den Server, aber ich habe keine Möglichkeit gefunden, beide Passwörter aufzunehmen. In der Tat bin ich nicht sicher, welches Passwort in den connect-Befehl aufgenommen werden sollte, ob das Server-Passwort oder das Datenbank-Passwort. Es funktioniert nicht mit keinem von ihnen.
Also, haben Sie irgendwelche Vorschläge, was könnte das Problem hier sein oder wenn ich ein wichtiges Bit fehlt?
Vielen Dank! Diese Lösung funktionierte wie ein Zauber. Sehr klare Erklärung auch. – dalonsoa