Ich habe einen Server mit Rackspace. Ich möchte über die Befehlszeile meines lokalen Computers auf die Datenbank zugreifen.
Ich habe versucht wie:
mysql -u username -h my.application.com -ppassword
Aber es gibt einen Fehler:
FEHLER 2003 (HY000):
Es kann keine Verbindung zum MySQL-Server auf 'my.application.com' (10061) hergestellt werden.
Was verursacht diesen Fehler und wie kann ich eine Verbindung zur entfernten Datenbank herstellen?
mysql
shell
mysql-error-2003
user1986299
quelle
quelle
10061
= Verbindung abgelehntAntworten:
Verwenden Sie den folgenden Befehl, um sich direkt bei einer Remote-MySQL-Konsole anzumelden:
Beispielsweise
Kein Leerzeichen nach -p wie in der Dokumentation angegeben
Sie gelangen direkt zur MySQL-Konsole, indem Sie zur genannten Datenbank wechseln.
31-07-2019 - bearbeitete Syntax
quelle
mysql -u USERNAME -p'PASSWORD' -h REMOTE_SERVER_IP DB_NAME
-p
dev.mysql.com/doc/refman/8.0/en/command-line-options.htmlBearbeiten Sie die Datei my.cnf:
vi /etc/my.cnf
::Stelle sicher das:
bind-address=YOUR-SERVER-IP
und wenn Sie die Linie haben:
skip-networking
Stellen Sie sicher, dass Sie es kommentieren:
#skip-networking
Vergessen Sie nicht, neu zu starten:
/etc/init.d/mysqld restart
quelle
grant all privileges on *.* to 'root'@'%' identified by 'your-password'
Stellen Sie dies einfach auf das Terminal bei Ubuntu:
Drücken Sie nun die Eingabetaste
Das Terminal fragt Sie nach dem Passwort, gibt das Passwort ein und Sie befinden sich im Datenbankserver
quelle
Versuchen Sie diesen Befehl
mysql -uuser -hhostname -PPORT -ppassword
.Ich hatte eine ähnliche Situation und später, als der MySQL-Port für den Host mit dem Befehl eingegeben wurde, wurde er gelöst.
quelle
mysql -u testuser -h 192.168.**.* -P 3306 -p password
arbeitete für michVerwenden Sie für Mac den folgenden Befehl:
und geben Sie dann das Passwort ein, wenn Sie dazu aufgefordert werden.
quelle
Wenn Sie den SSH- Tunnel nicht verwenden möchten , müssen Sie in my.cnf oder mysqld.cnf 127.0.0.1 mit Ihrer lokalen IP-Adresse ( 192.168.1.100 ) ändern , um Zugriff über das Lan zu erhalten. Beispiel unten:
Suchen Sie nach Bindungsadresse in my.cnf oder mysqld.cnf
und ändern Sie 127.0.0.1 in 192.168.1.100 (lokale IP-Adresse)
Um die von Ihnen vorgenommene Änderung zu übernehmen, müssen Sie den MySQL-Server mit dem nächsten Befehl neu starten.
Ändern Benutzer root für LAN Access (laufen die unten Abfrage in Remote - Server , dass Sie Zugriff haben wollen)
..
Wenn Sie nur von einer bestimmten IP-Adresse aus Zugriff haben möchten, ändern Sie 'root' @ '%' in 'root' @ '(IP-Adresse oder Hostname).'
Dann können Sie verbinden:
getestet auf Ubuntu 18.04 Server
quelle
versuche es
telnet 3306
. Wenn keine Verbindung hergestellt wird, gibt es entweder eine Firewall-Einstellung oder der Server hört nicht zu (oder funktioniert nicht).Führen Sie den
netstat -an
Server aus, um festzustellen, ob der Server aktiv ist.Möglicherweise erlauben Sie keine Remoteverbindungen.
Siehe http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
quelle
Ich gehe davon aus, dass Sie MySQL auf Ihrem Computer installiert haben. Führen Sie den folgenden Befehl aus, nachdem Sie fehlende Details eingegeben haben:
quelle
Es muss überprüft werden, ob der eingehende Zugriff auf Port 3306 von der Firewall blockiert wird oder nicht.
quelle
Es gibt einen einfachen Befehl.
Beispiel
quelle
Diese Lösung hat bei mir funktioniert:
Auf Ihrem Remote-Computer (Beispiel: 295.13.12.53) hat Zugriff auf Ihren Remote-Zielcomputer (auf dem der MySQL-Server ausgeführt wird).
Erklärt:
your_ssh_mashine_ipaddress - Es handelt sich nicht um eine lokale IP-Adresse, sondern um eine IP-Adresse, an die Sie in diesem Beispiel 295.13.12.53 senden
your_ssh_mashine_local_port - dies ist ein benutzerdefinierter Port, nicht 22, in diesem Beispiel 3306.
target_ipaddress - IP des Computers, auf dem Sie die Datenbank sichern möchten.
target_port - 3306 Dies ist ein echter Port für den MySQL-Server.
user @ your_ip_address - Dies sind die SSH-Anmeldeinformationen für die SSH-Mashine, die Sie verbinden
Wenn dies alles erledigt ist, kehren Sie zu Ihrer Maschine zurück und gehen Sie folgendermaßen vor:
Ich werde nach dem Passwort fragen, dein Passwort eingeben und du bist verbunden. Hoffe das hilft.
quelle
Versuchen Sie dies, es funktioniert:
mysql -h {Hostname} -u {Benutzername} -p {Passwort} -N -e "{auszuführende Abfrage}"
quelle
Sie sollten Ihr Passwort mit 'p' eingeben.
quelle
Ich bekam auch den gleichen Fehler. Aber fand es nützlich, indem Sie einen neuen MySQL-Benutzer auf einem Remote-MySQL-Server erstellen und dann eine Verbindung herstellen. Führen Sie den folgenden Befehl auf dem Remote-Server aus:
Jetzt können Sie mit dem folgenden Befehl eine Verbindung mit Remote-MySQL herstellen.
Hier ist der vollständige Beitrag:
http://openvani.com/blog/connect-remotely-mysql-server/
quelle
MySQL-Server sind normalerweise so konfiguriert, dass sie nur localhost (127.0.0.1) abhören, wo sie von Webanwendungen verwendet werden.
Wenn dies der Fall ist, Sie jedoch SSH-Zugriff auf Ihren Server haben, können Sie einen SSH-Tunnel erstellen und über diesen eine Verbindung herstellen.
Erstellen Sie auf Ihrem lokalen Computer den Tunnel.
(In diesem Beispiel wird der lokale Port 3307 verwendet, falls auf Ihrem lokalen Computer auch MySQL ausgeführt wird und der Standardport 3306 verwendet wird.)
Jetzt sollten Sie Ale sein, mit dem Sie sich verbinden können
quelle
Dieser hat in MySQL 8 für mich funktioniert. Ersetzen Sie ihn
hostname
durch Ihren Hostnamen undport_number
durch Ihre Portnummer. Sie können auch Ihren MySQL-Benutzer ändern, wenn er nicht root istWeitere Informationen hier
quelle
Wenn Sie unter Windows arbeiten, probieren Sie Visual Studio Code mit MySQL-Plugins aus, eine einfache und integrierte Möglichkeit, auf MySQL-Daten auf einem Windows-Computer zuzugreifen. Und die Datenbanktabellen aufgelistet und können beliebige benutzerdefinierte Abfragen ausführen.
quelle