Загрузка дампа MySQL из командной строки

я удаляюсь от Linode, потому что у меня нет необходимых навыков системного администратора Linux; прежде чем я завершу переход к более удобному для noob сервису, мне нужно загрузить содержимое базы данных MySQL. Есть ли способ сделать это из командной строки?

10 ответов


вы можете сделать это с помощью mysqldump.

например:

если это целая БД, то:

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

если это все DBs, то:

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

если это определенные таблицы в БД, то:

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

вы даже можете пойти до автоматического сжатия вывода с помощью gzip (если ваша БД очень большая):

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

если вы хотите сделать это удаленно и вы имейте доступ к рассматриваемому серверу, тогда следующее будет работать (предполагая, что сервер MySQL находится на порту 3306):

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

он должен уронить .sql файл в папке, из которой выполняется командная строка.

EDIT: как отмечено в комментариях, чтобы избежать включения пароля в историю команд, используйте -p опция без пароля. Он подскажет вам это, а не запишет.


mysqldump это то, что вы ищете.


в последних версиях mysql, по крайней мере в моей, Вы не можете поместить свой пропуск в команду напрямую.

вы должны выполнить:

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

и тогда он попросит пароль.


в windows вам нужно указать mysql bin, где mysqldump.exe находится.

cd C:\xampp\mysql\bin

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

сохраните это в текстовый файл, например backup.cmd


при загрузке с удаленного сервера, вот простой пример:

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

- p указывает, что вы введете пароль, он не относится к db_name. После ввода команды вам будет предложено ввести пароль. Введите его и нажмите Enter.


перейдите в каталог установки MySQL и откройте cmd оттуда. Затем выполните следующую команду, чтобы получить резервную копию базы данных.

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql

просто типа mysqldump или mysqldump --help в вашем cmd будет отображаться how to use

вот мой 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

открыть командную строку и ввести эту команду. Не заходите внутрь mysql, а затем введите эту команду.

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

Если вы используете MySQL, отличный от порта по умолчанию:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql

использовать этот Если у вас есть база данных с именем archiedb, использовать это mysql-p --databases archiedb > /home/database_backup.в SQL

предполагая, что это linux, выберите, где будет сохранен файл резервной копии.