2010-05-04 12 views
10

Jak mogę użyć mysqldump do tworzenia kopii zapasowych i przywracania bazy danych do zdalnego serwera?backup i odtwarzanie mysqldump do zdalnego serwera

Obie mają dostęp do roota. Używam Kit do wykonania tego.

Do tej pory próbowałem następujące:

mysqldump -u root -p >z*[email protected] masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --host=207.210.71.26 -C masdagn_joom15temp \g 

ale odmówił

lokalny hasło to:> z * x311a @

zdalne hasło to: g2154hE6-AsXP

+10

Dla przyszłego powiadomienia, byłbym ostrożny publicznie delegowania poświadczeń bazy danych. Mam nadzieję, że je zmieniłeś! –

Odpowiedz

8

link ta zawiera informacje na temat tworzenia kopii zapasowych i przywracanie z mysqldump ty. Podaje także kilka przykładów ze zdalnym serwerem.

Ważnymi polecenia z tego łącza jest:

zapasowej:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql 

przywrócić:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql 
+1

Naprawdę używam tego , ale po wpisaniu polecenia mysqldump nie daje mi nic tylko wiersz polecenia ponownie – manhag

2
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2 

możesz osadzić tę część w skrypcie, potem możesz użyć FTP do przeniesienia do innego r lokalizacja.

Aby przywrócić, może

bzip2 -d db_name.sql.bz2 
mysql --user=username --password=pwd db_name < db_name.sql 
1

Lokalny hasło zawiera znak >, który jest interpretowany jako a przez większość powłok jest to redirect character. Zasadniczo ułatwi to ci życie, jeśli zachowasz swoje hasła MySQL alfanumeryczne [A-Za-z0-9]. Dzięki temu Twój system będzie bezpieczniejszy, jeśli unikniesz publicznego publikowania swoich haseł.

1
[local-server]# mysqldump -u root -prootpswd db | mysql \ 
       -u root -ptmppassword --host=remote-server -C db1 

[Uwaga: Istnieją dwa - (myślnik) przed hosta]

Należy pamiętać, że należy najpierw utworzyć bazę danych DB1 na pilocie zdalnego serwera przed wykonaniem następującego polecenia.

0

tutaj jest to, co robię dla szybkiego zrzutu do innego serwera zdalnego ... zakładając, że masz konfigurację klucz ssh między serwerami 2

  • utworzyć plik dump-to-server.sh
  • chmod do wykonywalnego (chmod 0755 dump-to-server.sh)
  • prowadzony synchronizacja ./dump-to-server.sh schema_name [email protected]

wysypisko-t o-server.sh

\#!/bin/bash 

if [[ -z "$1" || -z "$2" ]]; then 
    echo "--------- usage ---------"; 
    echo "./dump-to-server.sh schema_name [email protected]"; 
    echo ""; 
else 
    mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1" 
fi 
Powiązane problemy