Ich muss einen mysqldump einer Datenbank auf einem Remote-Server ausführen, aber auf dem Server ist mysqldump nicht installiert. Ich möchte den mysqldump auf meinem Computer verwenden, um eine Verbindung zur entfernten Datenbank herzustellen und den Speicherauszug auf meinem Computer durchzuführen.
Ich habe versucht, einen SSH-Tunnel zu erstellen und dann den Speicherauszug zu erstellen, aber dies scheint nicht zu funktionieren. Ich habe es versucht:
ssh -f -L3310:remote.server:3306 user@remote.server -N
Der Tunnel wird mit Erfolg erstellt. Wenn ich mache
telnet localhost 3310
Ich bekomme einen Klappentext, der die richtige MySQL-Version des Servers anzeigt. Das Folgende scheint jedoch zu versuchen, eine lokale Verbindung herzustellen
mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
Antworten:
Da ich es bei Serverfault noch nicht gesehen habe und die Antwort ganz einfach ist:
Veränderung:
Zu:
Und ändern:
Zu:
(Verwenden Sie nicht localhost, es ist einer dieser Unsinns mit besonderer Bedeutung, der wahrscheinlich eher über den Socket als über den Port verbunden wird.)
edit : Nun, um es näher zu erläutern: Wenn Host auf eingestellt ist,
localhost
wird eine konfigurierte (oder Standard-)--socket
Option angenommen. Siehe das Handbuch, für das Optionsdateien gesucht / verwendet werden. Unter Windows kann dies eine Named Pipe sein.quelle
localhost
Standardmäßig wird standardmäßig::1
IPv6 verwendet, nicht127.0.0.1
.Man kann mysqldump lokal für einen Remote-Server aufrufen.
Beispiel, das bei mir funktioniert hat:
Ich habe die mysqldump- Dokumentation zu den Verbindungsoptionen befolgt .
quelle
-p
für das Kennwortargument gilt - nicht für den Datenbanknamen. Es ist jedoch unsicher, es im Klartext zu speichern. Wenn-p
Sie also hinzufügen , werden Sie beim Anmelden zur Eingabe des Kennworts aufgefordert. Vielleicht bin ich es nur, aber diemysql
und damit diemysql
Dump-Syntax war in Bezug auf Befehlszeilenargumente nie so einfach.Bassed auf dieser Seite hier:
Vergleichen Sie zwei MySQL-Datenbanken
Ich habe es so geändert, dass Sie ddbb auf verschiedenen Hosts verwenden können.
quelle
mysqldump vom Remote-Server verwendet SSL
1- Sicherheit mit SSL
192.168.0.101 - Remote-Server
192.168.0.102 - lokaler Server
Server wiederherstellen
- -
Lokaler Server
===================================
2 - Sicherheit mit SSL (REQUIRE X509)
192.168.0.101 - Remote-Server
192.168.0.102 - lokaler Server
Server wiederherstellen
- -
Lokaler Server
[Hinweis]
Auf lokalem Server
/ usr / local / mysql / data / ssl /
Kopieren Sie diese Dateien vom Remote-Server für (REQUIRE X509) oder wenn SSL ohne (REQUIRE X509) nicht kopiert wird
Auf dem Remote-Server
/ usr / local / mysql / data /
my.cnf
Erhöhen Sie die Passwortsicherheit
https://dev.mysql.com/doc/refman/8.0/en/password-security-user.html
quelle