Your SlideShare is downloading. ×
0
<Insert Picture Here>

Как делать backup MySQL
Света Смирнова
Ведущий инженер технической поддержки MySQL
Содержание
•
•
•
•
•

Зачем нужны бэкапы
Типы
Восстановление
Инструменты
Стратегии
•Зачем нужны бэкапы?
• Чтобы восстановить данные после аварии
– Железо
• Повреждения диска
– Пользовательская ошибка
• Зап...
•Зачем нужны бэкапы?
• Что ещё можно с ними делать?
– Разворачивать
• Перенести данные с девелоперской машины на
рабочую
–...
•Что нужно сохранять?
• Данные
– Таблицы
– Shared InnoDB tablspaces
– Другие объекты баз данных
• Представления
• Триггеры...
•Типы бэкапов: формат
• Бинарные
– Бинарные данные
• Логические
– В виде SQL
– CSV
– XML
•Типы бэкапов: взаимодействие с сервером
• Оффлайн
– MySQL сервер должен быть остановлен
• Онлайн
– MySQL сервер должен ра...
•Типы бэкапов: доступ к данным
• Холодный
– Блокируется доступ к копируемым объектам
• Чтение
• Запись
• Тёплый
– Блокируе...
•Типы бэкапов: что копируем
• Полный
– Копируются все объекты
• Частичный
– Только некоторые объекты копируются
• Например...
•Восстановление
• Время — это важно
• Разработайте план
– Насколько просто?
– Какая последовательность действий?
• Запишит...
•Инструменты
• Зачем их столько? Разве одного не хватит?
– Бэкапы бывают логическими и бинарными
– Восстановление может тр...
•Инструменты: cp
• Бэкап
– Бинарный
– Офлайн
• Восстановление
– Офлайн
• cp ­R datadir backupdir
•Инструменты: LVM и системные средства
• Бэкап
– Бинарный
– Офлайн
• Восстановление
– Офлайн
•Инструменты: mysqlhotcopy
• Бэкап
– Бинарный
– Онлайн
– Тёплый
– Только для MyISAM и Archive
• Восстановление
– Онлайн
– ...
•Инструменты: MySQL Enterprise Backup (MEB)
• Бэкап
– Бинарный для InnoDB
– Тёплый для остального
• Восстановление
– Оффла...
•Инструменты: MEB
• Бэкап
– ./mysqlbackup ­­port=13000 —protocol=tcp  
­­user=root ­­password 
­­backup­dir=/home/admin/ba...
•Инструменты: MEB
• Инкрементный бэкап
– mysqlbackup —defaults­file=/home/pekka/.my.cnf  
­­incremental 
­­incremental­bas...
•Инструменты: MEB — частичный бэкап
• Все InnoDB таблицы без *frm
– mysqlbackup —defaults­file=/home/pekka/.my.cnf  
­­onl...
•Инструменты: mysqldump
• Бэкап
– Логический
– Онлайн
– Тёплый
• Восстановление
– Онлайн
• mysqldump dbname >backup.sql
• ...
•Инструменты: репликация
• Бэкап
– Бинарный
– Онлайн
– Горячий
• Восстановление
– Зависит от обстоятельств
• В версии 5.6
...
•Планирование: очерёдность
•
•
•
•

Еженедельный полный бэкап
Ежедневный инкрементный бэкап
Сохраняйте бинарные логи!
Испо...
•Планирование: время жизни
•
•
•
•
•
•

Месяц: полный бэкап
Еженедельный полный бэкап
Ежедневный инкрементальный бэкап
Хра...
•Планирование: где хранить
•
•
•
•

Диск
Сеть
Streaming
Лента
•Планирование: хранение на ленте
• MEB может использовать media management software (MMS) для
того, чтобы перенаправить бэ...
•Заключение
•
•
•
•

Бэкап — это важно
Планируйте в соответствии со своими задачами
Используйте правильный инструмент
Дума...
•Ссылки
• http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html
• http://dev.mysql.com/doc/refman/5.6/en/mysqlhotcopy.html...
?
СПАСИБО!
The preceding is intended to outline our general
product direction. It is intended for information
purposes only, and may ...
Upcoming SlideShare
Loading in...5
×

Как делать backup MySQL

240

Published on

Slides from Devconf 2013

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
240
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Как делать backup MySQL"

  1. 1. <Insert Picture Here> Как делать backup MySQL Света Смирнова Ведущий инженер технической поддержки MySQL
  2. 2. Содержание • • • • • Зачем нужны бэкапы Типы Восстановление Инструменты Стратегии
  3. 3. •Зачем нужны бэкапы? • Чтобы восстановить данные после аварии – Железо • Повреждения диска – Пользовательская ошибка • Запросы, невовремя изменившие данные, такие как DROP TABLE очень_нужная_таблица – Программные • Ошибки программиста • SQL инъекции
  4. 4. •Зачем нужны бэкапы? • Что ещё можно с ними делать? – Разворачивать • Перенести данные с девелоперской машины на рабочую – Настроить репликацию – Отлаживать • Создать песочницу с актуальными данными – Ваши идеи!
  5. 5. •Что нужно сохранять? • Данные – Таблицы – Shared InnoDB tablspaces – Другие объекты баз данных • Представления • Триггеры • ... – Бинарные логи – Другие файлы • Логи InnoDB • master.info, relay-log.info • Лог ошибок • General query log, slow query log, ...
  6. 6. •Типы бэкапов: формат • Бинарные – Бинарные данные • Логические – В виде SQL – CSV – XML
  7. 7. •Типы бэкапов: взаимодействие с сервером • Оффлайн – MySQL сервер должен быть остановлен • Онлайн – MySQL сервер должен работать и быть доступным
  8. 8. •Типы бэкапов: доступ к данным • Холодный – Блокируется доступ к копируемым объектам • Чтение • Запись • Тёплый – Блокируется доступ только на запись • Горячий – Полный доступ к копируемым объектам
  9. 9. •Типы бэкапов: что копируем • Полный – Копируются все объекты • Частичный – Только некоторые объекты копируются • Например, несколько таблиц • Инкрементный – Копируются только изменения, произошедшие после последнего бэкапа
  10. 10. •Восстановление • Время — это важно • Разработайте план – Насколько просто? – Какая последовательность действий? • Запишите и держите под рукой
  11. 11. •Инструменты • Зачем их столько? Разве одного не хватит? – Бэкапы бывают логическими и бинарными – Восстановление может требовать или не требовать остановки сервера – Операционные системы предоставляют свои инструменты • Разве не привлекательна возможность сразу скопировать не только данные базы, но и всей системы?
  12. 12. •Инструменты: cp • Бэкап – Бинарный – Офлайн • Восстановление – Офлайн • cp ­R datadir backupdir
  13. 13. •Инструменты: LVM и системные средства • Бэкап – Бинарный – Офлайн • Восстановление – Офлайн
  14. 14. •Инструменты: mysqlhotcopy • Бэкап – Бинарный – Онлайн – Тёплый – Только для MyISAM и Archive • Восстановление – Онлайн – Оффлайн – Тёплое • mysqlhotcopy dbname1 ... dbname2 backupdir
  15. 15. •Инструменты: MySQL Enterprise Backup (MEB) • Бэкап – Бинарный для InnoDB – Тёплый для остального • Восстановление – Оффлайн • Аналоги – Percona XtraBackup
  16. 16. •Инструменты: MEB • Бэкап – ./mysqlbackup ­­port=13000 —protocol=tcp   ­­user=root ­­password  ­­backup­dir=/home/admin/backups backup • Восстановление – ./mysqlbackup ­­backup­dir=/path/to/backup  apply­log – ./mysqlbackup —defaults­file=path_to_my.cnf   ­­backup­dir=path_to_backup_directory copy­back
  17. 17. •Инструменты: MEB • Инкрементный бэкап – mysqlbackup —defaults­file=/home/pekka/.my.cnf   ­­incremental  ­­incremental­base=dir:/incr­backup/wednesday   ­­incremental­backup­dir=/incr­backup/thursday   backup • Сжатый бэкап – mysqlbackup ­­compress  ­­defaults­file=/home/pekka/my.cnf backup • Бэкап в файл – mysqlbackup —backup­image=/backups/sales.mbi   ­­backup­dir=/backup­tmp backup­to­image
  18. 18. •Инструменты: MEB — частичный бэкап • Все InnoDB таблицы без *frm – mysqlbackup —defaults­file=/home/pekka/.my.cnf   ­­only­innodb backup – опция innodb­file­per­table обязательна • Все InnoDB таблицы c *frm – mysqlbackup —defaults­file=/home/pekka/.my.cnf   ­­only­innodb­with­frm backup • Выборочные InnoDB таблицы без *frm – mysqlbackup —defaults­file=/home/pekka/.my.cnf   ­­include='test.ib.*' ­­only­innodb backup
  19. 19. •Инструменты: mysqldump • Бэкап – Логический – Онлайн – Тёплый • Восстановление – Онлайн • mysqldump dbname >backup.sql • Аналоги – SELECT INTO OUTFILE – mydumper – MySQL Utilities • mysqldbcopy • mysqldbexport
  20. 20. •Инструменты: репликация • Бэкап – Бинарный – Онлайн – Горячий • Восстановление – Зависит от обстоятельств • В версии 5.6 – mysqlbinlog —read­from­remote­server   ­­host=host_name —raw  ­­stop­never binlog.000130
  21. 21. •Планирование: очерёдность • • • • Еженедельный полный бэкап Ежедневный инкрементный бэкап Сохраняйте бинарные логи! Используйте планировщик задач, имеющийся у вас в системе – cron в Linux/UNIX – Task Scheduler в Windows
  22. 22. •Планирование: время жизни • • • • • • Месяц: полный бэкап Еженедельный полный бэкап Ежедневный инкрементальный бэкап Храните бинарные логи Используйте планировщик задач, имеющийся у вас в системе Создайте политику EOL
  23. 23. •Планирование: где хранить • • • • Диск Сеть Streaming Лента
  24. 24. •Планирование: хранение на ленте • MEB может использовать media management software (MMS) для того, чтобы перенаправить бэкап сразу на ленту • SBT — это API, принадлежащее Oracle, доступное как shared library и позволяющее коммуницировать с MMS • MEB регулярно тестируется с Oracle Secure Backup (OSB), есть успешный опыт использования с Symanted NetBackup и IBM Tivoly Storage Management (TSM) • mysqlbackup ­­port=3306 ­­protocol=tcp –user=root   ­­password  ­­backup­image=sbt:backup­shoeprod­2011­05­30  ­­sbt­lib­path=/opt/Other­MMS.so  ­­backup­dir=/backup backup­to­image
  25. 25. •Заключение • • • • Бэкап — это важно Планируйте в соответствии со своими задачами Используйте правильный инструмент Думайте о том как вы будете восстанавливать, планируя методы бэкапа
  26. 26. •Ссылки • http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html • http://dev.mysql.com/doc/refman/5.6/en/mysqlhotcopy.html • http://dev.mysql.com/doc/mysql-enterprise-backup/3.8/en/index.html • http://feedproxy.google.com/~r/MeetTheMysqlExperts/~3/R4TXxzvKoqA/11087746_MySQL_112311.mp3 • https://blogs.oracle.com/mysqlenterprisebackup/ • https://blogs.oracle.com/mysqlenterprisebackup/entry/meb_support_to_netbackup_mms • https://blogs.oracle.com/svetasmirnova/entry/story_of_success_mysql_enterprise • https://www.mysql.com/why-mysql/white-papers/mysql-enterprise-backup-and-symantec-netbackup/
  27. 27. ?
  28. 28. СПАСИБО!
  29. 29. The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×