Jak korzystać z Zrzutu MySQL ze zdalnego komputera

Jak mogę wykonać kopię zapasową bazy danych mysql, która jest uruchomiona na zdalnym serwerze, muszę zapisać plik kopii zapasowej w lokalnym komputerze.

Author: Richard Garside, 2011-12-09

7 answers

Spróbuj z Mysqldump

#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql
 70
Author: CloudyMarble,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-09 10:32:48

Masz dostęp do SSH?

Możesz użyć tego polecenia w powłoce do tworzenia kopii zapasowej całej bazy danych:

mysqldump -u [username] -p[password] [databasename] > [filename.sql]

Jest to w rzeczywistości jedno polecenie, po którym następuje operator >, który mówi: "Weź wyjście poprzedniego polecenia i zapisz je w tym pliku."

Uwaga: brak spacji między -p a hasłem mysql nie jest literówką. Jeśli jednak zostawisz flagę -p, ale rzeczywiste hasło jest puste, zostaniesz poproszony o podanie hasła. Czasami jest to zalecane, aby zachować hasła z historii bash.

 48
Author: Ian Jamieson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-12 16:27:38

Nikt nie wspomina o opcji --single-transaction . Ludzie powinni używać go domyślnie dla tabel InnoDB, aby zapewnić spójność danych. W tym przypadku:

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]

Zapewnia to, że zrzut jest uruchamiany w pojedynczej transakcji, która jest odizolowana od innych, zapobiegając tworzeniu kopii zapasowej części transakcji.

Na przykład, załóżmy, że posiadasz serwer gry, na którym ludzie mogą kupować Geary za kredyty konta. Istnieją zasadniczo 2 operacje przeciwko baza danych:

  1. odliczyć kwotę od ich kredytów
  2. Dodaj sprzęt do ich arsenału

Teraz, jeśli zrzut nastąpi pomiędzy tymi operacjami, przy następnym przywróceniu kopii zapasowej użytkownik straci zakupiony element, ponieważ druga operacja nie zostanie zrzutowana w pliku zrzutu SQL.

Chociaż jest to tylko opcja , w zasadzie nie ma wielu powodów, dla których nie używasz tej opcji z mysqldump.

 34
Author: datasn.io,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-16 05:36:36

Ten temat pojawia się na pierwszej stronie mojego wyniku google, więc oto mała przydatna wskazówka dla nowych użytkowników.

Możesz także zrzucić sql i gzip w jednej linii:

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]
 19
Author: Unnawut,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-03 23:37:08
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]
 2
Author: Artjom B.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-16 08:28:57

Próbowałem wszystkich kombinacji tutaj, ale to działało dla mnie:

mysqldump -u root -p --default-character-set=utf8mb4 [DATABASE TO BE COPIED NAME] > [NEW DATABASE NAME]
 0
Author: jsibs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-02 20:18:13

Możesz wybrać inny sposób:

mysql -u [username] [databasename]

I wybierz swój plik sql jak:

source mydumpdatabase.sql
 -3
Author: Nico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-25 14:42:36