Wenn ich versuche, von einem Remotecomputer aus eine Verbindung zu einer MySQL-Datenbank herzustellen, wird eine Eingabeaufforderung angezeigt: Connection Failed: [HY000] [MySQL][ODBC 5.1 Driver]Can't Connect to MySQL server on 'XXX.XXX.XX.XX' (10060)
Ich habe ein Benutzerkonto im MySQL-Administrator erstellt und einen Host hinzugefügt, um den Remotezugriff zu ermöglichen. Ich habe auch eine Ausnahme für meine Windows-Firewall am Port gemacht, 3306
aber die Verbindung schlägt immer noch fehl.
Was ist das Problem?
Vielen Dank!
Antworten:
Ich nehme an, Ihr MySQL-Server läuft unter Windows ... öffnen Sie also ein DOS-Fenster und geben Sie Folgendes ein:
netstat -an
Sie sollten eine Zeile wie diese finden:
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
Hier erfahren Sie, dass der MySQL-Server auf dem TCP-Port 3306 ausgeführt wird und diesen überwacht.
Ein weiterer Test, den Sie durchführen können, ist das Telnet (von einem anderen PC) auf Ihren MySQL-Server:
telnet ip_mysql_server 3306
Dies sollte eine Telnet-Sitzung öffnen:
quelle
Zunächst einmal ist es eine sehr schlechte Idee, einen weltweit offenen Port für Ihren Datenbankserver zu haben. Vor allem, wenn es sich um den MySQL-Standardport handelt. Sie laden nur Leute ein, zu versuchen, in Ihre Datenbank einzudringen.
Haben Sie versucht, den Datenbankserver mit einem Port-Scan-Tool wie nmap auf Ihrem Remotecomputer zu scannen? Es wird Ihnen sagen, ob der Port mit geöffnet ist
nmap -PN -p 3306 XXX.XXX.XX.XX
?quelle
Der Fehler 10060 bedeutet, dass Sie nicht remote auf den Webserver zugreifen dürfen . Deshalb
%
Platzhalter für den Host-Teil des Benutzerkontos, um die Verbindung von einem beliebigen Host aus zu ermöglichen (siehe Artikel Hinzufügen von Benutzerkonten ).Weitere Informationen finden Sie unter Lösung für die Remoteverbindung, wenn Sie den Beitrag " Fehler 10060" erhalten .
quelle
1) Zugriff auf iptables
2) my.conf
3) MySQL
4) mysqld
quelle
Überprüfen Sie die MySQL-Konfiguration:
/etc/my.cnf
und kommentieren:
Jetzt werden TCP / IP-Ports abgehört. Normalerweise haben Sie jedoch den direkten Zugriff auf MySQL über die Firewall blockiert, sodass dies kein Problem darstellen sollte. Sie können jetzt SSH über TCP / IP als "
localhost
" auf den MySQL-Server übertragen.zB Windows-
bat
Datei, PuTTY-Tunnel:Wenn auf Ihrem lokalen Computer XAMPP / MySQL ausgeführt wird, ändern Sie den obigen Port in
3307
:quelle
In diesem Artikel erfahren Sie, wie Sie MYSQL vom Remote-Server aus verbinden
Das ist aber keine gute Idee. Wenn Sie von einem anderen Remote-Server aus auf die Datenbank zugreifen möchten, platzieren Sie eine Datei mit einem gewissen
htpasswd
Schutz oder einem Authentifizierungsmodul auf Ihrer Site.Wenn Sie Daten eines MySQL-Servers auf einen anderen Server übertragen möchten, müssen Sie die Anforderungen genau einhalten ...
Wenn es nur um die Datensynchronisation geht, entscheiden Sie sich für DB-Server-Konzepte ...
quelle
Der wahrscheinliche Schuldige, den die Leute oft vergessen, ist:
Dieser Schritt ist erforderlich, um eine Verbindung vom Computer 123.456.789.123 herstellen zu können. Weitere Informationen und eine vollständigere Anleitung finden Sie unter Holicreatures Link.
quelle
Ich hatte genau das gleiche Problem bei der Kommunikation zwischen einer MSSQL Server-Datenbank auf einem (Win2008) Server und einer MySQL-Datenbank auf einem anderen.
Ich hatte bereits vor einigen Jahren eine ODBC-Verbindung zwischen einem MSSQL-Server und dem MySQL-Server hergestellt. In erster Linie, damit ich ein Linked Server-Objekt auf dem MSSQL Server erstellen kann.
Beim Versuch, eine ODBC-Verbindung von einem anderen Server herzustellen, wird der folgende Fehler angezeigt:
Nachdem ich einige der Vorschläge in den hier gefundenen Antworten befolgt hatte, entschied ich mich, die Firewall-Regeln auf dem (Win2008) Server zu überprüfen, auf dem MySQL gehostet wird.
Ich hatte eine eingehende Regel eingerichtet, nach der der gesperrte Port 3306 nur über eine Liste von IP-Adressen zugänglich ist. Nachdem ich die IP meines neuesten Servers zur Liste hinzugefügt hatte, konnte ich eine Verbindung herstellen.
quelle