wake-up-neo.net

Greifen Sie über die Befehlszeile auf die entfernte MySQL-Datenbank zu

Ich habe einen Server mit Rackspace. Ich möchte über meine Befehlszeile des 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 unter 'my.application.com' hergestellt werden (10061)

Wodurch wird dieser Fehler verursacht und wie kann ich eine Verbindung zur entfernten Datenbank herstellen?

125
user1986299

Verwenden Sie den folgenden Befehl, um sich direkt bei einer entfernten MySQL-Konsole anzumelden:

mysql -u {username} -p {password} \
    -h {remote server ip or name} -P {port} \
    -D {DB name}

Sie gelangen direkt zur mysql-Konsole, indem Sie zur genannten Datenbank wechseln.

184
Venkat M

meine.cnf-Datei bearbeiten:

vi /etc/my.cnf:

stelle sicher das:

bind-address=YOUR-SERVER-IP

und wenn Sie die Leitung haben:

skip-networking

stellen Sie sicher, dass Sie es kommentieren:

#skip-networking

nicht vergessen, neu zu starten:

/etc/init.d/mysqld restart

30
alfasin

einfach bei ubuntu auf das Terminal setzen: 

mysql -u username -h Host -p

Drücken Sie jetzt die Eingabetaste

das Terminal fragt Sie nach dem Passwort, geben Sie das Passwort ein und Sie befinden sich im Datenbankserver

19
Kedar Jangir

Versuchen Sie diesen Befehl mysql -uuser -hhostname -PPORT -ppassword.

Ich war mit einer ähnlichen Situation konfrontiert und als der mysql-Port für Host mit dem Befehl eingegeben wurde, wurde er gelöst.

15
rajarajan2809

Wenn Sie den SSH-Tunnel nicht verwenden möchten, müssen Sie in my.cnf oder mysqld.cnf127.0.0.1 mit Ihrer lokalen IP-Adresse (192.168.1.100), um über das LAN Zugriff zu haben. Beispiel unten: 

Sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Suchen Sie nach bind-address in my.cnf oder mysqld.cnf

bind-address            =  127.0.0.1

und ändern Sie 127.0.0.1 in 192.168.1.100 (lokale IP-Adresse)

bind-address            =  192.168.1.100

Um die von Ihnen vorgenommene Änderung anzuwenden, müssen Sie den mysql-Server mit dem nächsten Befehl neu starten.

Sudo /etc/init.d/mysql restart

Ändern Sie den Benutzer root für den LAN-Zugriff (führen Sie den unten aufgeführten Abfragebefehl auf dem Remote-Server aus, auf den Sie zugreifen möchten).

[email protected]:~$ mysql -u root -p

..

CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Wenn Sie nur von einer bestimmten IP-Adresse aus Zugriff haben möchten, ändern Sie 'root' @ '%' in 'root' @ '(IP-Adresse oder Hostname)'

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Dann können Sie sich verbinden:

[email protected]:~$ mysql -h 192.168.1.100 -u root -p

getestet auf Ubuntu 18.04 Server

8
Cornea Valentin

Verwenden Sie für Mac den folgenden Befehl:

mysql -u app -h hostaddress -P port -D dbname -p

und geben Sie dann das Passwort ein, wenn Sie dazu aufgefordert werden.

5
KayV
  1. versuche telnet 3306. Wenn keine Verbindung hergestellt wird, gibt es entweder eine Firewall-Einstellung oder der Server hört nicht zu (oder funktioniert nicht).
  2. führen Sie netstat -an auf dem Server aus, um festzustellen, ob der Server aktiv ist.
  3. Es ist möglich, dass Sie keine Remote-Verbindungen zulassen.

    Siehe http://www.cyberciti.biz/tips/wie-do-i-enable-remote-access-to-mysql-database-server.html

5
user851031

Ich gehe davon aus, dass Sie MySQL auf Ihrem Rechner installiert haben. Führen Sie den folgenden Befehl aus, nachdem Sie die fehlenden Details ausgefüllt haben:

mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 
4
realPK

Es gibt einen einfachen Befehl.

mysql -h {hostip} -P {port} -u {username} -p {database}

Beispiel

mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb
1
Manish Goswami

Muss prüfen, ob der eingehende Zugriff auf Port 3306 von der Firewall blockiert wird oder nicht.

1
AmirolAhmad

Sie sollten Ihr Passwort mit 'p' eingeben. 

mysql -u root -u 1.1.1.1 -p'MyPass'
0
Karin Lahyani

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 über SSH-Zugriff auf Ihren Server verfügen, können Sie einen SSH-Tunnel erstellen und über diesen eine Verbindung herstellen.

Erstellen Sie auf Ihrem lokalen Computer den Tunnel.

ssh -L 3307:127.0.0.1:3306 -N [email protected]$remote_Host

(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 solltest du Ale sein, mit dem du dich verbinden kannst

mysql -u $user -p -h 127.0.0.1 -P 3307
0
mivk

Ich habe auch die gleiche Fehlermeldung erhalten .. Aber ich fand es nützlich, indem Sie einen neuen mysql-Benutzer auf dem entfernten mysql-Server erstellen und dann eine Verbindung herstellen. Führen Sie den folgenden Befehl auf dem Remote-Server aus:

CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT 
OPTION;
CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Jetzt können Sie sich mit folgendem Befehl mit Remote-MySQL verbinden.

mysql -u openvani -h 'any ip address'-p

Hier ist der vollständige Beitrag:

http://openvani.com/blog/connect-remotely-mysql-server/

0
Davinder Snehi

diese Lösung hat für mich funktioniert:

Auf Ihrem Remote-Computer (Beispiel: 295.13.12.53) hat Zugriff auf Ihren Ziel-Remote-Computer (auf dem der MySQL-Server ausgeführt wird).

ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 [email protected]

Erklärt:

ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port [email protected]_ip_address -N

your_ssh_mashine_ipaddress - es ist keine lokale IP-Adresse, es ist die IP-Adresse

your_ssh_mashine_local_port -dies ist der benutzerdefinierte Port nicht 22, in diesem Beispiel ist es 3306.

target_ipaddress - IP der Maschine, auf der Sie versuchen, die Datenbank zu sichern.

target_port - 3306 Dies ist ein realer Port für den MySQL Server.

user @ your_ip_address - Dies sind SSH-Anmeldeinformationen für das SSH-Mashine, das Sie verbinden

Sobald dies geschehen ist, gehen Sie zu Ihrem Rechner zurück und machen Sie folgendes:

mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql

Fragt nach einem Passwort, gib dein Passwort ein und du bist verbunden .. _hoffentlich hilft das.

0
violentr

Versuchen Sie dies, es funktioniert:

mysql -h {hostname} -u {Benutzername} -p {Kennwort} -N -e "{Abfrage zum Ausführen}"

0
ravi teja