Как сделать дамп базы данных 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
Вот и вся магия