SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
<Insert Picture Here>

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

Зачем нужны бэкапы
Типы
Восстановление
Инструменты
Стратегии
•Зачем нужны бэкапы?
• Чтобы восстановить данные после аварии
– Железо
• Повреждения диска
– Пользовательская ошибка
• Запросы, невовремя изменившие данные, такие как
DROP TABLE очень_нужная_таблица
– Программные
• Ошибки программиста
• SQL инъекции
•Зачем нужны бэкапы?
• Что ещё можно с ними делать?
– Разворачивать
• Перенести данные с девелоперской машины на
рабочую
– Настроить репликацию
– Отлаживать
• Создать песочницу с актуальными данными
– Ваши идеи!
•Что нужно сохранять?
• Данные
– Таблицы
– Shared InnoDB tablspaces
– Другие объекты баз данных
• Представления
• Триггеры
• ...
– Бинарные логи
– Другие файлы
• Логи InnoDB
• master.info, relay-log.info
• Лог ошибок
• General query log, slow query log, ...
•Типы бэкапов: формат
• Бинарные
– Бинарные данные
• Логические
– В виде SQL
– CSV
– XML
•Типы бэкапов: взаимодействие с сервером
• Оффлайн
– MySQL сервер должен быть остановлен
• Онлайн
– MySQL сервер должен работать и быть доступным
•Типы бэкапов: доступ к данным
• Холодный
– Блокируется доступ к копируемым объектам
• Чтение
• Запись
• Тёплый
– Блокируется доступ только на запись
• Горячий
– Полный доступ к копируемым объектам
•Типы бэкапов: что копируем
• Полный
– Копируются все объекты
• Частичный
– Только некоторые объекты копируются
• Например, несколько таблиц
• Инкрементный
– Копируются только изменения, произошедшие после
последнего бэкапа
•Восстановление
• Время — это важно
• Разработайте план
– Насколько просто?
– Какая последовательность действий?
• Запишите и держите под рукой
•Инструменты
• Зачем их столько? Разве одного не хватит?
– Бэкапы бывают логическими и бинарными
– Восстановление может требовать или не требовать остановки
сервера
– Операционные системы предоставляют свои инструменты
• Разве не привлекательна возможность сразу скопировать не
только данные базы, но и всей системы?
•Инструменты: cp
• Бэкап
– Бинарный
– Офлайн
• Восстановление
– Офлайн
• cp ­R datadir backupdir
•Инструменты: LVM и системные средства
• Бэкап
– Бинарный
– Офлайн
• Восстановление
– Офлайн
•Инструменты: mysqlhotcopy
• Бэкап
– Бинарный
– Онлайн
– Тёплый
– Только для MyISAM и Archive
• Восстановление
– Онлайн
– Оффлайн
– Тёплое
• mysqlhotcopy dbname1 ... dbname2 backupdir
•Инструменты: MySQL Enterprise Backup (MEB)
• Бэкап
– Бинарный для InnoDB
– Тёплый для остального
• Восстановление
– Оффлайн
• Аналоги
– Percona XtraBackup
•Инструменты: 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
•Инструменты: 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
•Инструменты: 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
•Инструменты: mysqldump
• Бэкап
– Логический
– Онлайн
– Тёплый
• Восстановление
– Онлайн
• mysqldump dbname >backup.sql
• Аналоги
– SELECT INTO OUTFILE
– mydumper
– MySQL Utilities
• mysqldbcopy
• mysqldbexport
•Инструменты: репликация
• Бэкап
– Бинарный
– Онлайн
– Горячий
• Восстановление
– Зависит от обстоятельств
• В версии 5.6
– mysqlbinlog —read­from­remote­server  
­­host=host_name —raw 
­­stop­never binlog.000130
•Планирование: очерёдность
•
•
•
•

Еженедельный полный бэкап
Ежедневный инкрементный бэкап
Сохраняйте бинарные логи!
Используйте планировщик задач, имеющийся у вас в системе
– cron в Linux/UNIX

– Task Scheduler в Windows
•Планирование: время жизни
•
•
•
•
•
•

Месяц: полный бэкап
Еженедельный полный бэкап
Ежедневный инкрементальный бэкап
Храните бинарные логи
Используйте планировщик задач, имеющийся у вас в системе
Создайте политику EOL
•Планирование: где хранить
•
•
•
•

Диск
Сеть
Streaming
Лента
•Планирование: хранение на ленте
• 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
•Заключение
•
•
•
•

Бэкап — это важно
Планируйте в соответствии со своими задачами
Используйте правильный инструмент
Думайте о том как вы будете восстанавливать, планируя методы
бэкапа
•Ссылки
• 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/
?
СПАСИБО!
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Ontico
 
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практикеНовые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практике
Sveta Smirnova
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Ontico
 
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Ontico
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
odnoklassniki.ru
 
Devconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadbDevconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadb
Sergey Petrunya
 

Was ist angesagt? (20)

Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
 
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практикеНовые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практике
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
 
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.
 
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийВведение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложений
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
 
How to cook a blockchain and not get burned
How to cook a blockchain and not get burned How to cook a blockchain and not get burned
How to cook a blockchain and not get burned
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
 
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBMyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDB
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
 
Devconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadbDevconf2013 new-features-in-mysql-and-mariadb
Devconf2013 new-features-in-mysql-and-mariadb
 

Ähnlich wie Как делать backup MySQL

Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
Alex Chistyakov
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQL
Alex Chistyakov
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
Stanfy
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Ontico
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ru
odnoklassniki.ru
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012
Alex Chistyakov
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
Alex Chistyakov
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Oleg Tsarev
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
Alex Chistyakov
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
Sergey Xek
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Badoo Development
 

Ähnlich wie Как делать backup MySQL (20)

Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQL
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ru
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rus
 
Sivko
SivkoSivko
Sivko
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
Errors Tracker
Errors TrackerErrors Tracker
Errors Tracker
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
 

Mehr von Sveta Smirnova

MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
 

Mehr von Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 

Kürzlich hochgeladen

СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 

Kürzlich hochgeladen (9)

СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 

Как делать backup MySQL

  • 1. <Insert Picture Here> Как делать backup MySQL Света Смирнова Ведущий инженер технической поддержки MySQL
  • 3. •Зачем нужны бэкапы? • Чтобы восстановить данные после аварии – Железо • Повреждения диска – Пользовательская ошибка • Запросы, невовремя изменившие данные, такие как DROP TABLE очень_нужная_таблица – Программные • Ошибки программиста • SQL инъекции
  • 4. •Зачем нужны бэкапы? • Что ещё можно с ними делать? – Разворачивать • Перенести данные с девелоперской машины на рабочую – Настроить репликацию – Отлаживать • Создать песочницу с актуальными данными – Ваши идеи!
  • 5. •Что нужно сохранять? • Данные – Таблицы – Shared InnoDB tablspaces – Другие объекты баз данных • Представления • Триггеры • ... – Бинарные логи – Другие файлы • Логи InnoDB • master.info, relay-log.info • Лог ошибок • General query log, slow query log, ...
  • 6. •Типы бэкапов: формат • Бинарные – Бинарные данные • Логические – В виде SQL – CSV – XML
  • 7. •Типы бэкапов: взаимодействие с сервером • Оффлайн – MySQL сервер должен быть остановлен • Онлайн – MySQL сервер должен работать и быть доступным
  • 8. •Типы бэкапов: доступ к данным • Холодный – Блокируется доступ к копируемым объектам • Чтение • Запись • Тёплый – Блокируется доступ только на запись • Горячий – Полный доступ к копируемым объектам
  • 9. •Типы бэкапов: что копируем • Полный – Копируются все объекты • Частичный – Только некоторые объекты копируются • Например, несколько таблиц • Инкрементный – Копируются только изменения, произошедшие после последнего бэкапа
  • 10. •Восстановление • Время — это важно • Разработайте план – Насколько просто? – Какая последовательность действий? • Запишите и держите под рукой
  • 11. •Инструменты • Зачем их столько? Разве одного не хватит? – Бэкапы бывают логическими и бинарными – Восстановление может требовать или не требовать остановки сервера – Операционные системы предоставляют свои инструменты • Разве не привлекательна возможность сразу скопировать не только данные базы, но и всей системы?
  • 12. •Инструменты: cp • Бэкап – Бинарный – Офлайн • Восстановление – Офлайн • cp ­R datadir backupdir
  • 13. •Инструменты: LVM и системные средства • Бэкап – Бинарный – Офлайн • Восстановление – Офлайн
  • 14. •Инструменты: mysqlhotcopy • Бэкап – Бинарный – Онлайн – Тёплый – Только для MyISAM и Archive • Восстановление – Онлайн – Оффлайн – Тёплое • mysqlhotcopy dbname1 ... dbname2 backupdir
  • 15. •Инструменты: MySQL Enterprise Backup (MEB) • Бэкап – Бинарный для InnoDB – Тёплый для остального • Восстановление – Оффлайн • Аналоги – Percona XtraBackup
  • 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. •Инструменты: 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. •Инструменты: 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. •Инструменты: mysqldump • Бэкап – Логический – Онлайн – Тёплый • Восстановление – Онлайн • mysqldump dbname >backup.sql • Аналоги – SELECT INTO OUTFILE – mydumper – MySQL Utilities • mysqldbcopy • mysqldbexport
  • 20. •Инструменты: репликация • Бэкап – Бинарный – Онлайн – Горячий • Восстановление – Зависит от обстоятельств • В версии 5.6 – mysqlbinlog —read­from­remote­server   ­­host=host_name —raw  ­­stop­never binlog.000130
  • 21. •Планирование: очерёдность • • • • Еженедельный полный бэкап Ежедневный инкрементный бэкап Сохраняйте бинарные логи! Используйте планировщик задач, имеющийся у вас в системе – cron в Linux/UNIX – Task Scheduler в Windows
  • 22. •Планирование: время жизни • • • • • • Месяц: полный бэкап Еженедельный полный бэкап Ежедневный инкрементальный бэкап Храните бинарные логи Используйте планировщик задач, имеющийся у вас в системе Создайте политику EOL
  • 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. •Заключение • • • • Бэкап — это важно Планируйте в соответствии со своими задачами Используйте правильный инструмент Думайте о том как вы будете восстанавливать, планируя методы бэкапа
  • 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. ?
  • 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.