- Блог пользователя administrator
- Комментировать
- 239897 reads
Метки: mysql, восстановление, резервная копия
Самый простой способ сделать резервную копию базы данных будет Telnet на ваш сервер баз данных и использование mysqldump для сохранения всей базы данных в файл резервной копии.
Mysqldump
Простое резервное копирование базы данных:
Вы можете использовать mysqldump для создания простого резервного копирования базы данных, используя следующий синтаксис.
[Имя пользователя] - это имя пользователя базы данных
[Пароль] - это пароль для базы данных
[Имя_базы_данных] - имя базы данных
[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 | 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