Pobieranie zrzutu MySQL z wiersza poleceń

Odchodzę od Linode, ponieważ nie posiadam niezbędnych umiejętności linuksowego sysadmina; zanim przejdę do bardziej przyjaznego dla noobów serwisu, muszę pobrać zawartość bazy danych MySQL. Czy Mogę to zrobić z linii poleceń?

Author: Ken White, 2012-11-21

10 answers

Można to osiągnąć za pomocą mysqldump funkcji wiersza poleceń.

Na przykład:

Jeśli jest to cały DB, to:

   $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

Jeśli to wszystko DBs, to:

   $ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

Jeśli są to konkretne tabele w DB, to:

   $ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

Możesz nawet posunąć się do automatycznego kompresji wyjścia za pomocą gzip (jeśli DB jest bardzo duży):

   $ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

Jeśli chcesz to zrobić zdalnie i masz dostęp do danego serwera, to działa (zakładając, że serwer MySQL jest na porcie 3306):

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql

Powinien upuścić plik .sql do folderu, z którego uruchamiasz wiersz poleceń.

EDIT: jak zaznaczono w komentarzach, aby uniknąć wpisywania hasła do historii poleceń, użyj opcji -p bez hasła. Poprosi Cię o to, a nie nagrywa.

 434
Author: nickhar,
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
2017-11-14 00:10:43

Mysqldump jest tym, czego szukasz.

 14
Author: Faruk Sahin,
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
2012-11-21 00:48:09

W najnowszych wersjach mysql, przynajmniej w mojej, nie można umieścić swojego passa bezpośrednio w poleceniu.

Musisz uruchomić:

mysqldump -u [uname] -p db_name > db_backup.sql

I wtedy zapyta o hasło.

 6
Author: Lorenzo Lerate,
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
2016-10-01 09:28:55

W systemie windows musisz określić bin mysql, w którym znajduje się zrzut MySQL.exe.

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

Zapisz to do pliku tekstowego, takiego jak kopia zapasowa.cmd

 4
Author: drooh,
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
2016-01-26 07:55:21

Jeśli pobierasz ze zdalnego serwera, Oto prosty przykład:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

- P oznacza, że wprowadzisz hasło, nie odnosi się ono do db_name. Po wprowadzeniu polecenia zostaniesz poproszony o podanie hasła. Wpisz go i naciśnij enter.

 4
Author: Andrew,
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
2016-09-21 18:32:03

Przejdź do katalogu instalacyjnego MySQL i otwórz stamtąd cmd. Następnie wykonaj poniższe polecenie, aby uzyskać kopię zapasową bazy danych.

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
 1
Author: user8376416,
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
2017-07-27 23:09:07

Po prostu wpisz mysqldump lub mysqldump --help w cmd pokaże how to use

Oto Mój wynik cmd

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
 0
Author: Suganthan Madhavan Pillai,
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-03-27 08:07:20

Otwórz wiersz polecenia i wpisz bezpośrednio To polecenie. Nie wchodź do mysql i wpisz to polecenie.

mysqldump -u [uname] -p[pass] db_name > db_backup.sql
 0
Author: Nithin Raja,
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
2017-07-21 04:31:26

Jeśli używasz innego portu MySQL niż domyślny:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql
 0
Author: Anand Raj,
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
2017-11-28 12:09:24

Użyj tego Jeśli posiadasz bazę danych o nazwie archiedb, użyj tego mysql-p --databases archiedb > /home/database_backup.sql

Zakładając, że jest to linux, wybierz, gdzie zostanie zapisany plik kopii zapasowej.

 -1
Author: Nabaasa Archie,
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-05-16 14:17:16