Pingen Remote-Server, Noch Nicht in der Lage zu Verbinden
Ich bin in der Lage, ping für den remote-server, die ich bin versucht zu verbinden, erfolgreich. Jedoch beim ausführen des MySQL-Befehls:
mysql -u monty -h website.com -p
Erhalte ich die folgende Fehlermeldung:
ERROR 2003 (HY000): Can't connect to MySQL server on 'website.com' (111)
Ich habe die Anweisungen befolgt gefunden hier, die zeigen, wie erstellen Sie einen Benutzer mit den erforderlichen Berechtigungen:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
Habe ich auch auskommentiert die folgende Zeile in /etc/mysql/my.cnf
# bind-address = 127.0.0.1
Auch so, bin ich immer noch nicht, um eine Remote-Verbindung. Gibt es etwas, was fehlt mir hier? Nochmals vielen Dank allen.
- (bitte beachten Sie in den meisten Fällen, die Sie nicht wollen, tun das sowieso)
- Lohoris, beziehen Sie sich auf die flush-privileges-Befehl?
- Wussten Sie starten Sie den MySQL-server nach auskommentieren
bind-address
? Wenn nicht, bitte nicht. - Marc, ja, ich sicherlich hat der server neu gestartet werden.
- Sorry, ich bezog mich im Allgemeinen auf "Verbindung zu einem entfernten mysql-server". Es gibt viele Gelegenheiten, wo es Sinn macht, es zu tun, natürlich, aber oft Neulinge versuchen, es zu tun, wenn Sie sollten wirklich nicht, daher meine (unklar) Kommentar.
- Ah danke für die Klarstellung Lohoris. In diesem Fall, wenn ich eine herunterladbare Programm, das Benutzer herunterladen können, die auf Ihren client-Computern, wie gebe ich Ihnen die Möglichkeit zum hochladen von Inhalten, ohne dass irgendwelche Löcher?
- verwenden Sie ein middle-tier (application server), und eine API bereitstellen, anstatt die client-Anwendungen den direkten Zugriff auf die Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fehler
111
istConnection refused
:Es gibt ein paar häufige Arten, wie das passiert:
REJECT
diese Pakete. TCP-Pakete anders behandelt werden als ICMP-Pakete, so könnenping
nicht notwendigerweise die Fähigkeit zur Weiterleitung von beliebigen TCP-stream. Fragen Sie die admins auf die Systeme zu überprüfenufw
oderiptables
für Firewall-Daten./var/log/audit/audit.log
unddmesg(1)
Ausgang fürreject
,denied
,AVC
usw.bind-address
Konfiguration. Versuchen Sie, eine explizitebind-address=0.0.0.0
(Google-cache-link; ich kann keine Verbindungdev.mysql.com
aus irgendeinem Grund), um die Konfigurationsdatei zu erzwingen, die Bindung an allen Adressen. Überprüfen Sienetstat -anp | grep -i mysql
um zu sehen, welche ports, wenn überhaupt, ist es zu hören.bind-address
config undnetstat
sind beide gute Vorschläge.Ist es nicht ein Berechtigungsproblem. Wenn es ein permission-problem, Sie würde eine andere Fehlermeldung.
Ist es eine Verbindung problem.
Sicherzustellen, dass die Linie
skip-networking
Zeile ist auskommentiert oder entfernt von Ihrem config-Datei.Sicherzustellen, dass die
port
Linie konfiguriert ist, um die richtige port (Standard: 3306).Wenn Sie immer noch keine Verbindung, dann ist es wahrscheinlich eine firewall/ISP Problem.
Ping ist nicht wirklich ein guter test, weil es nur tests, wenn die ICMP-server. Verwenden Sie telnet, um eine Verbindung zu der bestimmten port wäre ein besserer test:
Gibt es viele Orte, die Sie setzen eine
my.cnf
- Datei, so suchen Sie die Datei, um sicherzustellen, eine andere Datei nicht in Kraft.Kombiniert mit sarnold die Antwort sollten Sie auf der richtigen Spur.