Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Сервер/Форум / Полезные и интересные ссылки / Создание бэкапов MySQL баз (76827 hits)
- By LOE (Site/forum admin) Date 14.04.11 12:57
Percona XtraBackup позволяет, не создавая существенной дополнительной нагрузки на сервер, делать полные, инкрементальные, частичные резервные копии баз данных, работающих под управлением СУБД MySQL, Percona Server, MariaDB, Drizzle.

http://www.percona.com/docs/wiki/percona-xtrabackup:start
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By hawk Date 14.04.11 13:34
На счет инкремента - это хорошо. Была тема моя, где вопросом ставилось отслеживание изменений баз данных, думаю инкремент еще и в этом очень полезен будет.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By LOE (Site/forum admin) Date 14.04.11 14:55
Надо будет покрутить.
А то стоит задача бэкапить базу в 58Гб (и еще одну в 15Гб), ежедневно растущие.
Обычный дамп длится дооооолго...
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 14.04.11 18:31
а чем не устраивают различные технологии со снапшотами, там на долгость пофигу
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 14.04.11 19:18
Список? описания?
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By Bercut Date 15.04.11 06:07
да была тут уже тема, где я изливал поток сознания по поводу бекапинья всего и вся в осознаваемой вселенной
не ну если хошь я и повториться могу
повторение мать его... учения то бишь
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By hawk Date 15.04.11 05:29 Edited 15.04.11 05:39
Кстати, стандартные утилиты по бэкапу баз MySQL поддерживают инкрементный бэкап, основываются на бинарных логах. Вот тут посмотри http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html "Making Incremental Backups by Enabling the Binary Log" Включаем ведение логов /etc/mysql/my.cnf -> log-bin = mybinlog, и добавляем ключик --flush-logs в mysqldump, на сколько я понял.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By Bercut Date 14.04.11 18:32
что то я не допонял. а оно иннодб то бекапит или че, а то там что то про лицензию написано, вроде как для инодб надо
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 14.04.11 19:17
Open-Source Development

All of Percona's software is open-source and free. Development takes place on Launchpad.

Q: Do I need an InnoDB Hot Backup license to use XtraBackup?
A: No. Although innobackupex is derived from the same GPL and open-source wrapper script that InnoDB Hot Backup uses, it does not execute ibbackup, and the xtrabackup binary does not execute or link to ibbackup. You can use XtraBackup without any license; it is completely separate from InnoDB Hot Backup.
Q: Why is innobackupex distributed as innobackupex-1.5.1?
A: That's the way the source for the tool was distributed from Oracle.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 15.04.11 06:20
это я тоже прочитал
однако так мудрено написано что смысел от меня постоянно ускользает
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 15.04.11 06:52
Кратко: Percona XtraBackup открытый проект в исходниках, лицензий не требуется :-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 16.04.11 00:12
а че они про оракел буровят
что сперли у них чегото
?
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 16.04.11 15:37 Edited 16.04.11 15:40
Вернее так:

> Q: Why is innobackupex distributed as innobackupex-1.5.1?
> A: That's the way the source for the tool was distributed from Oracle.


оракл выпускает утилиту, распространять надо под тем-же именем.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By Bercut Date 17.04.11 19:52 Edited 17.04.11 19:54
а, вон оно че
однако как то не явно про это написано...
а вообще оракел всетаки видимо не собирается зачморить мускул, во всяком случае сразу....
хотя наметившаяся тенденция по облегчению оракла в смысле субд как такового и либерализация лицензионной политики говорит об обратном...
чето мне кацца скоро для не бизнес ориентед задач оракел станет совсем безплатным, и ето будет хорошо
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By hawk Date 18.04.11 10:44
LOE, а что если настроить репликацию, Master & Slave MySQL server. В плане безопасности и отказоустойчивости будет получше всяких бэкапов, ну и накопительные бэкапы тоже необходимы (на случай отката), все же если попробовать инкремент стандартными средствами.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By LOE (Site/forum admin) Date 18.04.11 10:59
Для репликации нужен еще один сервер.
А если и на штатную работу выделяют из того, что есть ...

По сути, для обычной ситуации хватает рейда на сервере.
Бэкап больше нужен для восстановления удаленных данных с некоторой дельтой по времени.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Green_aciD Date 18.04.11 20:25
еще может кому пригодиться - скрипт для бэкапа mysql как раз на основе снапшотов LVM - http://www.lenzg.net/mylvmbackup/
и небольшое описание сего процесса от тех же мужиков из percona - http://www.mysqlperformanceblog.com/2006/08/21/using-lvm-for-mysql-backup-and-replication-setup/

может пойдет самый простой вариант бэкапа - периодический фулл в виде дампа или снапшота, например по утрам в воскресенье, и инкремент в виде постоянного ведения бинарных логов (и их бэкап если нужно есть опасность что сбойнет железо).

а репликация это не бэкап по-сути :-)
Parent - By LOE (Site/forum admin) Date 18.04.11 20:55
Слишком старое. С 2009 года много воды утекло.
И требует, чтобы база находилась на LVM томе.

На счет инкрементного бэкапа:
сознайтесь, кто пробовал восстанавливать данные из полного дампа плюс нескольких инкрементных?

У меня задача попроще: иметь копию данных. На сервере рейд-1, так что от выпадения винта какая-никакая защита есть.
А вот восстановить кусок данных бывало нужно.

Мои вышеназванные базы - это базы dbmail'а в которых находится почта. Сам dbmail имеет 2-х ступенчатую систему удаления почты. Так что есть двое суток, чтобы "спохватиться" и восстановить удаленное письмо одним update'ом в таблице.
А вот восстановить пару удаленных писем спустя недельку приходилось.

Руки доберутся - буду тестить эту перкону.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Green_aciD Date 19.04.11 06:04
по-сути ничего и не изменилось с того времени,

а у тебя сами письма лежат в базе? может тебе как раз будет удобнее найти нужные данные в бинлогах и выцепить их от туда?
Parent - By LOE (Site/forum admin) Date 19.04.11 10:51
Да, dbmail всё держит в базе.

При размере базы в 50Гигов, никакие бинлоги не помогут :-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Green_aciD Date 19.04.11 13:43
ну тебе же не всю базу надо восстановить, а кусочек :-)

>> При размере базы в 50Гигов, никакие бинлоги не помогут :-)

Parent - By LOE (Site/forum admin) Date 20.04.11 07:33
Где в процессе работы хранятся бинлоги? в паре файлов по 20Мбайт?
Если в день проходит порядка 100-500Мбайт писем (а значит, столько же прогоняется через базу), какие нафик логи помогут?
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Green_aciD Date 20.04.11 09:47
бинлоги хранятся в файлах (в зависимости от дистра, например в /var/lib/mysql/mysql-bin.000001), размер к-рых может быть до 1024Мбайт, и к-рый можно задавать через max_binlog_size.
по-умолчанию они вроде не включены, поэтому возможно потребуется внести соотв. изменения (например добавить log-bin* параметры в конфиг mysql).

500Мбайт данных в день совсем немного,
и имея исходные данные - целевые таблицы где произошли изменения, юзеры, примерные запросы и дата их выполнения
- можно найти эти выполненные запросы к базе в бинлогах через mysqlbinlog и потом накатить их обратно в базу (вот и вариант point in time recovery в mysql).

>> Где в процессе работы хранятся бинлоги? в паре файлов по 20Мбайт?
>> Если в день проходит порядка 100-500Мбайт писем (а значит, столько же прогоняется через базу), какие нафик логи помогут?

Parent By LOE (Site/forum admin) Date 20.04.11 11:20
Понятно. Спасибо.
Дойдут руки, буду крутить этот вопрос.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By LOE (Site/forum admin) Date 15.07.11 13:15
Попробовал на тестовой машине (на своей :-) ).
Пока только бэкап и не инкрементный.
Создается слепок баз на момент завершения работы скриптов, по сути слепок каталога /var/lib/mysql
Восстановление - копирование слепка в /var/lib/mysql

Остается попробовать на боевом сервере с ~30G базой.

Принцип работы (насколько понял):
- запускается следящий за транзакциями процесс
- копируются файлы баз/таблиц
- по окончании копирования, записываются запротоколированные транзакции
- на базу натравливаются записанные транзакции
Слепок готов.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By slam Date 20.09.11 17:27
Она вроде денег стоит... Снапшоты + bacula рулят пока.
Parent By LOE (Site/forum admin) Date 21.09.11 05:50
Основной функционал свободен.
Денег хотят за поддержку и надстройки.

По крайней мере, тестовый бэкап прошел "на ура", а до реальной базы руки пока не дошли ;(
"No! Try not! Do. Or do not. There is no try." -- Yoda
Previous Next Up Topic Сервер/Форум / Полезные и интересные ссылки / Создание бэкапов MySQL баз (76827 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.079s with 11 database queries.