Mysqldump — Бекап базы данных Mysql.

Попытаюсь коротко описать процесс и некоторые команды mysqldump для бекапа (backup) базы  MYSQL с последующим воcстановлением .

mysqldump — стандартная утилита позволяющая получить дамп содержимого базы данных или их совокупности. Создается резервная копия таблиц для пересылки их на другой SQL-сервер баз данных (не обязательно MySQL-сервер). Резервная копия или дамп содержит в себе набор команд SQL для последующего восстановления или преобразования (манипуляций).

mysqldump является консольной утилитой входящей в в стандартный комплект пакета ПО MYSQL , для работы с ней нужно использовать командный режим операционной системы (win cmd) или же в консоли Unix  (bash, sh) на операционной системе linux или freebsd .

Синтаксис mysqldump программы прост:

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

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[databasename] – имя базы данных.
[dump_filename.sql] – имя сформированного файла (дампа) .

Разсмотрим пример как получить дамп базы данных mydb_databasename на MySQL сервере:

mysqldump -uAdmin -pPassword mydb_databasename > mydb_databasename.sql

Для воcстановления БД из получившегося дампа файла sql базы данных вводим:

mysql -uAdmin -pPassword mydb_databasename < mydb_databasename.sql

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

Что бы сделать дамп всех баз данных которые находятся у вас на MySQL сервере воспользуйтесь след. примером:

mysqldump -uroot -prootpassword —all-databases > all_databases.sql

этой же утилитой можно создавать дамп структуры базы данных.

mysqldump —no-data —databases my_db1 my_db2 my_db3 > structurebackup.sql