Muszę zrobić mysqldump bazy danych na zdalnym serwerze, ale serwer nie ma zainstalowanego mysqldump. Chciałbym użyć mysqldump na moim komputerze, aby połączyć się ze zdalną bazą danych i wykonać zrzut na moim komputerze.
Próbowałem utworzyć tunel ssh, a następnie wykonać zrzut, ale to nie działa. Próbowałem:
ssh -f -L3310:remote.server:3306 user@remote.server -N
Tunel powstaje z sukcesem. Jeśli zrobię
telnet localhost 3310
Otrzymuję notkę, która pokazuje poprawną wersję mysql serwera. Jednak wykonanie następujących czynności wydaje się próbować połączyć się lokalnie
mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
Odpowiedzi:
Ponieważ nie widziałem tego jeszcze w przypadku awarii serwera, a odpowiedź jest dość prosta:
Zmiana:
Do:
I zmień:
Do:
(nie używaj localhost, jest to jeden z tych bzdur o „specjalnym znaczeniu”, który prawdopodobnie łączy się przez gniazdo, a nie przez port)
edit : no cóż, rozwinąć: jeśli host jest ustawiony na
localhost
, zakładana jest skonfigurowana (lub domyślna)--socket
opcja. Zapoznaj się z instrukcją dotyczącą poszukiwanych / używanych plików opcji. W systemie Windows może to być nazwany potok.źródło
localhost
często domyślnie::1
IPv6, nie127.0.0.1
.Można wywołać mysqldump lokalnie na zdalnym serwerze.
Przykład, który zadziałał dla mnie:
Postępowałem zgodnie z dokumentacją mysqldump dotyczącą opcji połączenia.
źródło
-p
dotyczy to argumentu hasła, a nie nazwy bazy danych. Jednak przechowywanie go w postaci zwykłego tekstu jest niebezpieczne, więc dodanie-p
oznacza, że podczas logowania zostanie wyświetlony monit o podanie hasła. Może to tylko ja, alemysql
i tym samymmysql
dump nigdy nie było wszystko, co proste miarę argumentów wiersza poleceń.Bassed na tej stronie tutaj:
Porównaj dwie bazy danych MySQL
Zmodyfikowałem go, abyś mógł używać ddbb na różnych hostach.
źródło
mysqldump ze zdalnego serwera używa SSL
1- Bezpieczeństwo z SSL
192.168.0.101 - zdalny serwer
192.168.0.102 - serwer lokalny
Serwer Remore
-
Serwer lokalny
====================================
2 - Bezpieczeństwo z SSL (WYMAGANE X509)
192.168.0.101 - zdalny serwer
192.168.0.102 - serwer lokalny
Serwer Remore
-
Serwer lokalny
[Uwaga]
Na serwerze lokalnym
/ usr / local / mysql / data / ssl /
Skopiuj te pliki ze zdalnego serwera dla (REQUIRE X509) lub jeśli SSL bez (REQUIRE X509) nie kopiuj
Na serwerze zdalnym
/ usr / local / mysql / data /
my.cnf
Zwiększ bezpieczeństwo hasła
https://dev.mysql.com/doc/refman/8.0/en/password-security-user.html
źródło