Резервное копирование и восстановление базы данных MySQL

Метки: mysql, восстановление, резервная копия

Самый простой способ сделать резервную копию базы данных будет Telnet на ваш сервер баз данных и использование mysqldump для сохранения всей базы данных в файл резервной копии.

Mysqldump
Простое резервное копирование базы данных:

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

mysqldump -u [имя пользователя] -р [пароль] [имя_базы_данных] > [backupfile.sql]

  [Имя пользователя] - это имя пользователя базы данных
  [Пароль] - это пароль для базы данных
  [Имя_базы_данных] - имя базы данных
  [Backupfile.sql] - файл

Для создания резервной копии базы данных "клиенты" с именем пользователя 'sadmin' и паролем 'pass21 к custback.sql файл, вы должны выдать команду:

mysqldump -u sadmin -p pass21 Clients > custback.sql

Также, при использовании mysqldump можно задать параметр --add-drop-table, для того чтобы при восстановлении базы данных из файла, не надо было вначале удалять ее руками.

mysqldump --add-drop-table -u sadmin -p pass21 Customers > custback.sql

также можно сохранять только отдельные таблицы из базы данных:

mysqldump -u [username] -p [password] [databasename] [table1 table2 ....]

Резервное копирование множетва баз данных:

Чтобы сделать копию баз Customers, Orders, Comments:

mysqldump -u root -p pass21 --databases Customers Orders Comments > multibackup.sql

Чтобы сделать копию всех баз на сервере:

mysqldump --all-databases> alldatabases.sql

Копирование структур баз:

mysqldump --no-data --databases Customers Orders Comments > structurebackup.sql

Сжатие на лету:

mysqldump --all-databases | bzip2 -c >databasebackup.sql.bz2
mysqldump --all-databases | gzip >databasebackup.sql.gz

Простое восстановление баз данных:

mysql -u sadmin -p pass21 Customers < custback.sql

Синтаксис:

mysql -u [username] -p [password] [database_to_restore] < [backupfile]

Запакованные файлы восстанавливаем так:

gunzip < custback.sql.sql.gz | mysql -u sadmin -p pass21 Customers

Также можно объединить восстановление нескольких бекапов с помощью cat:

cat backup1.sql backup.sql | mysql -u sadmin -p pass21

Прямой перенос базы с сервера на сервер (репликация):

mysqldump -u sadmin -p pass21 Customers | mysql --host=202.32.12.32 -C Customers

Tags for Резервное копирование и восстановление базы данных MySQL
Вход в систему
Image CAPTCHA
Enter the characters shown in the image.