SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
<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.

Más contenido relacionado

La actualidad más candente

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 loadGrid Dynamics
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
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)Ontico
 
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практикеНовые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практикеSveta Smirnova
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"Badoo Development
 
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.Sergey Petrunya
 
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийВведение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложенийSveta Smirnova
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
 
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Ontico
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Ontico
 
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 Alexander Syrotenko
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...Ontico
 
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBMyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBSergey Petrunya
 
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
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Ontico
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandraodnoklassniki.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-mariadbSergey Petrunya
 

La actualidad más candente (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
 

Similar a Как делать backup MySQL

Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaAlex Chistyakov
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLAlex Chistyakov
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоStanfy
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Ontico
 
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)Pavel Tsukanov
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTКРОК
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruodnoklassniki.ru
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012Alex Chistyakov
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusVladd Ev
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Ontico
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)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 #devrusAlex Chistyakov
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Badoo Development
 

Similar a Как делать 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. "Распространенные ошибки применения ба...
 

Más de Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?Sveta Smirnova
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringSveta Smirnova
 
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 HaveSveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговSveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessSveta Smirnova
 
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]sSveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOpsSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta 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 ClusterSveta Smirnova
 
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 tearsSveta Smirnova
 
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...Sveta Smirnova
 
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?Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaSveta Smirnova
 
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 GaleraSveta Smirnova
 
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?Sveta Smirnova
 
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]sSveta Smirnova
 
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?Sveta Smirnova
 
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 ...Sveta Smirnova
 

Más de 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 ...
 

Как делать 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.