<Mr.ElectroNick>
/* personal website */

Как сделать дамп базы данных MySQL

Любой кто начинает работать с MySQL может столкнуться с необходимостью создать полную копию базы данных, тоесть дамп. Чаще всего это необходимо для того чтобы скопировать ВСЮ структуру базы и иногда саими данные. Также дамп часто используется для того чтобы восстановить базу данных в случае «поломки» :-)

Команда mysqldump — создание дампа

Для того чтобы создать дамп — командная строка выглядит так:

mysqldump -uUSER -pPASSWORD DB_NAME > FILE_NAME_TO_SAVE

Где

  • -uUser — имя пользователя базы в формате типа -u[root]
  • -pPassword — пароль пользователя в формате типа -p[123456]
  • DB_NAME — имя базы данных
  • FILE_NAME_TO_SAVE — куда сохранять дамп

В идеале ни имя пользователя ни пароль где либо сохранять не стоит, система сама спросит под кем логиниться. Так что простой вариант команды следующий:

mysqldump -u -p DB_NAME > FILE_NAME_TO_SAVE

Пример:

mysqldump -uroot -p123456 mydb > dump.sql

Эта комбинация создаст файл dump.sql в той папке в которой вы выполняете команду.

Пакуем в zip:

zip ./dump.zip ./dump.sql

или в tar.gz:

tar -pczf ./dump.tar.gz ./dump.sql

Как восстановить базу данных из дампа

Теперь сделаем восстановление базы данных из дампа.

Для восстановления используем командный интерпретатор MySQL — команду с одноименным названием:

mysql -uUSER -pPASSWORD -f mydb < mydb_dump.sql

Часть < dump.sql отвечает за «закидывание» файла с SQL командами дампа в интерпретатор.

Пример:

mysql -uroot -p123456 -f mydb < dump.sql

Для того чтобы указать кодировку данных в дампе нужно использовать ключ —default-character-set:

mysql -uroot -p123456 -f --default-character-set=cp1251 mydb < dump.sql

Вот и вся магия :-)