LINUX.ORG.RU

Backup Mysql

 , ,


0

1

Стоит задача бекапа Mysql. Для бекапа выбрал Percona Xtrabackup.

Как с помощью бекапа снимать дамп определинной базы? Если снимаю дамп вот так:

innobackupex --databases=exmample_db --user=user --password=password backup/

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

И второй вопрос как потом данный бекап можно развернуть на другой сервер?

Чем:

$ mysqldump -uuser -p -hhost database > db.sql
Не устраивает?

Попробуй кстати просто последним параметром указать имя БД.

Восстанавливать так:

$ mysql -uuser -p database < db.sql

resurtm ★★★ ()
Ответ на: комментарий от resurtm

ну когда у тебя база относительно большая то я думаю это вовсе не вариант для снятия дампа!

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

marat04 ()
Ответ на: комментарий от resurtm

mysqldump

Это, хоть и довольно надёжный, но самый «дорогой» способ как снятия, так и восстановления данных.

Несколько лет назад вставал вопрос о переносе таблиц из myisam в innodb, и по сути, отпугнули проблемы с бэкапами. С myisam достаточно остановить mysql на несколько секунд и скопировать нужные базы/таблицы.

ТС, innodb_file_per_table=1? Если да, то можешь снимать дампы копированием файлов ibdata* и каталога с нужной базой.

anonymous ()
Ответ на: комментарий от anonymous

Это, хоть и довольно надёжный, но самый «дорогой» способ как снятия, так и восстановления данных.

что именно там дорогово ? памятьт процессор?

Знаю, что если прилично большая база то очень долго накатывается дамп. К примеру дамп БД размером в 4 Гб щас накатывается примерно 30 минут.

marat04 ()
Ответ на: комментарий от marat04

что именно там дорогово ? памятьт процессор?

Я не замерял, могу ответить только одно — время.

накатывается примерно 30 минут

У меня простое копирование нескольких баз на ~7 гигов занимает меньше двух минут.

Понятно что можно понизить приоритет mysqldump и пусть снимает дамп хоть сутки, вот только занятое процессорное время никак от этого не уменьшиться, и всё равно он будет каждую ячейку дёргать через mysql мешая ему работать.

Я могу позволить себе рассматривать mysqldump как «переносной» вариант, то есть, если базу нужно тащить в другую версию mysql или в другую субд. Но, использовать её каждый день только для случая: «Всё сломалось, надо сделать чтобы было как вчера» — это слишком.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.