Макс

Родной город: Омск

Фото галерея: смотреть

Контакты: написать

О себе:

Интересы:

- программирование

- интернет

- психология

- менеджмент

- автоматизация

Погляди
Голосование

Нравиться ли вам блог

  Да
  Нет
  Я тут случайно

 

ГлавнаяКарта сайтаПечать страницы

Резервное копирование и восстановление mysql/backup (CentOS,MySQL)

Создание резервных копий

Создадим резервную копию одной базы данных:

# mysqldump -u dbadmin -pdbadminpass -B workdb > /backup/workdb.sql

  Обратите внимание на отсутствие пробела после опции -p, сразу указываем пароль. В данном случае будет создан файл резервной копии, содержащий структуру и данные, /backup/workdb.sql. Если вам не нужны данные из этой базы, а достаточно просто сохранить структуру таблиц, можно воспользоваться следующим вариантом:

# mysqldump -u dbadmin -pdbadminpass --no-data -B workdb > /backup/structure_workdb.sql

Ключ --no-data ( сокращенный вариант -d ), указывает mysqldump, не скидывать данные в дамп.

Так-же есть возможность создавать дампы, только необходимых таблиц, определенной базы данных:

# mysqldump -u dbadmin -pdbadminpass -B drupal --tables access users > /backup/drupal2tables.sql

Вышеприведенная команда, создает резервную копию таблиц access и users, указанных вслед за опцией --tables, из базы данных drupal и сохраняет в файл /backup/drupal2tables.sql.

Для создания дампа только структуры таблиц, без данных, используется та-же опция --no-data.

# mysqldump -u dbadmin -pdbadminpass --no-data -B drupal --tables access users > ./drupal2tables_nodata.sql

Для создания резервной копии нескольких баз данных, достаточно перечислить их названия после опции --databases ( -B ):

# mysqldump -u dbadmin -pdbadminpass -B drupal cacti > /backup/drupal_cacti.sql

  Что-бы создать резервную копию всех имеющихся баз данных, нужно использовать опцию --all-databases или ее сокращенный вариант: -A.

# mysqldump -u dbadmin -pdbadminpass -A > /backup/all_databases.sql

После выполнения данной команды, будет создана резервная копия всех имеющихся баз данных

Восстановление данных

Восстановить базу данных или таблицу из сохраненного ранее дампа, еще проще, чем этот дамп создать. Для этого достаточно воспользоваться стандартной программой-клиентом mysql, перенаправив в нее файл резервной копии. Делается это так:

# mysql -u dbadmin -pdbadminpass < /backup/all_databases.sql

После выполнения команды, будут восстановлены все базы данных, из резервной копии, которую мы создали несколькими строками выше. Таким-же способом происходит и восстановление отдельных баз данных или таблиц. Обратите внимание, при восстановлении таблиц, нужно указать в какую именно базу данных вы ее хотите поместить.

# mysql -u dbadmin -pdbadminpass test < test_table.sql

В приведенном примере, мы восстанавливаем из резервной копии, таблицу test_table, помещая ее в базу test.

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

# mysqldump -u dbadmin -pdbadminpass --no-data -B test --tables test_table > /struct_test_table.sql

  Скидываем в дамп структуру таблицы, test_table из базы данных test.

# mysql -u dbadmin -pdbadminpass other_testdb < struct_test_table.sql

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