Thalmann L., Kindahl M., Bell C. / Талманн Л., Киндал М., Белл Ч. - MySQL High Availability / Обеспечение высокой доступности систем на основе MySQL [2010/2012, PDF, ENG/RUS]
#777 MySQL High Availability / Обеспечение высокой доступности систем на основе MySQL
Год: 2010 / 2012 Автор: Thalmann L., Kindahl M., Bell C. / Талманн Л., Киндал М., Белл Ч. Жанр: СУБД Издательство: Oreilly / Русская редакция / БХВ-Петербург ISBN: 978-0-596-80730-6 / 978-5-7502-0409-0 / 978-5-9775-0799-8 Язык: Английский / Русский Формат: PDF Качество: Изначально компьютерное (eBook) Количество страниц: 624
Описание: Данная книга — подробное руководство по обеспечению высокой доступности ИТ-систем, построенных с использованием СУБД MySQL. Здесь рассматриваются методические приемы и функции, раскрываются общие подходы и тонкости, связанные с репликацией и мониторингом серверов баз данных. Авторы — лидеры команды разработчиков MySQL и признанные эксперты в области теории и практики применения СУБД — приводят множество реальных примеров, сопровождая их подробным анализом. «Изюминкой» книги является рассказ о недокументированных и неочевидных функциях, позволяющих повысить отказоустойчивость MySQL в любой среде — в среде «обычных», виртуальных и кластерных серверов, а также в облачных вычислениях. Издание состоит из пятнадцати глав и предметного указателя. Рекомендуется системным администраторам, администраторам БД и всем интересующимся практическими аспектами повышения надежности ИТ-систем.
Предисловие ... XII Введение ... XIV Благодарности ... XVIII
ЧАСТЬ I Репликация ... 1
Глава 1 Введение ... 3
Что такое репликация? ... 5 А можно ли обойтись без резервного копирования? ... 6 Для чего нужен мониторинг? ... 7 Дополнительные источники ... 7 Заключение ... 8
Глава 2 Основы репликации MySQL ... 9 Репликация — первые шаги ... 10 Конфигурирование главного сервера ... 11 Конфигурирование подчиненного сервера ... 13 Подключение главного и подчиненного серверов ... 13 Кое-что о двоичном журнале ... 15 Что записано в двоичном журнале ... 15 Работа репликации ... 16 Структура и содержимое двоичного журнала ... 18 Управление репликацией средствами Python ... 21 Основные классы и функции ... 23 Операционная система ... 24 Класс сервера ... 24 Роли сервера ... 26 Создание новых подчиненных серверов ... 28 Копирование главного сервера ... 29 Копирование подчиненного сервера ... 31 Сценарии операции копирования ... 33 Распространенные задачи репликации и их решение ... 35 Создание отчетов ... 35 Заключение ... 43
Глава 3 Двоичный журнал событий ... 44
Структура двоичного журнала ... 45 Структура события двоичного журнала ... 47 Регистрация операторов в журнале ... 49 Регистрация операторов языка манипулирования данными ... 49 Регистрация операторов языка описания данных ... 50 Регистрация запросов ... 50 Операторы LOAD DATA INFILE ... 56 Фильтры двоичного журнала ... 58 Триггеры, события и хранимые программы ... 60 Хранимые процедуры ... 65 Хранимые функции ... 68 События ... 70 Специальные структуры ... 71 Модификации без транзакций и обработка ошибок ... 72 Регистрация транзакций ... 75 Кэш транзакций ... 76 Распределенная обработка транзакций с использованием XA ... 78 Управление двоичным журналом ... 80 Отказоустойчивость двоичного журнала ... 81 Ротация файлов двоичного журнала ... 82 Инциденты ... 84 Очистка файла двоичного журнала ... 85 Утилита mysqlbinlog ... 86 Примеры использования mysqlbinlog ... 86 Интерпретация событий ... 92 Параметры и переменные двоичного журнала ... 96 Заключение ... 98
Глава 4 Роль репликации в обеспечении высокой доступности ... 99
Глава 5 Роль репликации MySQL в горизонтальном масштабировании ... 144
Горизонтальное масштабирование операций чтения, а не записи ... 146 Смысл асинхронной репликации ... 147 Управление топологией репликации ... 150 Пример балансировщика нагрузки уровня приложения ... 153 Иерархическая репликация ... 157 Настройка сервера-ретранслятора ... 158 Добавление ретранслятора программой на языке Python ... 160 Специализированные подчиненные серверы ... 161 Фильтрация событий репликации ... 162 Применение фильтрации для секционирования событий подчиненных серверов ... 164 Шардинг ... 165 Представление шарда ... 168 Секционирование данных ... 169 Балансировка шардов ... 171 Пример шардинга ... 173 Управление согласованностью данных ... 186 Согласованность данных в неиерархическом развертывании ... 187 Согласованность данных в иерархическом развертывании ... 189 Заключение ... 196
Глава 6 Дополнительные возможности репликации ... 197
Основы архитектуры репликации ... 197 Структура журнала ретрансляции ... 198 Потоки репликации ... 202 Запуск и остановка потоков подчиненного сервера ... 203 Репликация через Интернет ... 204 Настройка защищенной репликации с использованием встроенной поддержки SSL ... 206 Настройка защищенной репликации при помощи Stunnel ... 207 Тонкая настройка репликации ... 209 Информация о состоянии репликации ... 209 Параметры для обработки разорванных подключений ... 217 Как подчиненный сервер обрабатывает события ... 218 Роль потока ввода-вывода ... 219 Работа потока SQL ... 219 Обеспечение надежности и восстановление подчиненного сервера ... 226 Синхронизация, транзакции и проблемы при сбоях баз данных ... 226 Правила для защиты нетранзакционных операторов ... 228 Многоисточниковая репликация ... 229 Построчная репликация ... 232 Настройка построчной репликации ... 234 Смешанный режим репликации ... 235 События построчной репликации ... 236 Обработка событий ... 241 События и триггеры ... 242 Фильтрация ... 244 Заключение ... 246
ЧАСТЬ II Мониторинг и восстановление после сбоев ... 247
Глава 7 Основы мониторинга ... 249
Способы мониторинга ... 250 Что дает мониторинг ... 251 Компоненты системы, подлежащие мониторингу ... 251 Процессор ... 252 Оперативная память ... 253 Диск ... 254 Сетевая подсистема ... 255 Решения для мониторинга ... 256 Мониторинг в системах Linux и Unix ... 257 Активность процессов ... 258 Использование памяти ... 262 Использование диска ... 264 Сетевая активность ... 268 Общая информация о системе ... 269 Автоматизация мониторинга при помощи планировщика cron ... 270 Мониторинг Mac OS X ... 271 Системный профайлер ... 271 Приложение Console ... 273 Монитор активности ... 275 Мониторинг Microsoft Windows ... 278 Индекс производительности Windows ... 279 Отчет о работоспособности системы ... 280 Просмотр событий ... 283 Монитор стабильности системы ... 285 Диспетчер задач ... 286 Системный монитор ... 287 Мониторинг как профилактическое средство ... 289 Заключение ... 290
Глава 8 Мониторинг MySQL ... 291
Что такое производительность? ... 292 Мониторинг сервера MySQL ... 292 Управление производительностью в MySQL ... 293 Мониторинг производительности ... 293 Команды SQL ... 294 Утилита mysqladmin ... 300 Утилиты MySQL GUI ... 302 MySQL Administrator ... 302 MySQL Query Browser ... 312 Журналы сервера ... 313 Сторонние утилиты ... 316 Пакет MySQL Benchmark Suite ... 318 Производительность базы данных ... 320 Оценка производительности базы данных ... 320 Рекомендации по оптимизации баз данных ... 331 Рекомендации по повышению производительности ... 341 Все работает медленно ... 341 Медленные запросы ... 341 Медленная работа приложений ... 342 Медленная репликация ... 342 Заключение ... 343
Глава 9 Мониторинг механизмов БД ... 344
MyISAM ... 345 Оптимизация дискового файла БД ... 345 Настройка таблиц ... 345 Использование утилит MyISAM ... 346 Хранение таблицы в порядке индексации ... 348 Сжатие таблиц ... 348 Дефрагментация таблиц ... 349 Мониторинг кэша ключей ... 349 Предварительная загрузка в кэш ... 350 Использование нескольких кэшей ключей ... 351 Другие параметры ... 352 InnoDB ... 353 Использование команды SHOW ENGINE ... 355 Использование мониторов InnoDB ... 358 Мониторинг файлов журналов ... 361 Мониторинг пула буферов ... 362 Мониторинг табличных пространств ... 364 Использование таблиц INFORMATION_SCHEMA ... 365 Другие параметры ... 366 Заключение ... 367
Глава 10 Мониторинг репликации ... 368
Приступаем к работе ... 368 Настройка сервера ... 369 Фильтрация данных для репликации ... 369 Потоки репликации ... 371 Мониторинг главного сервера ... 373 Команды для мониторинга главного сервера ... 373 Переменные состояния на главном сервере ... 377 Мониторинг подчиненных серверов ... 377 Команды для мониторинга подчиненных серверов ... 377 Переменные состояния на подчиненном сервере ... 381 Мониторинг репликации при помощи MySQL Administrator ... 382 Прочие элементы ... 384 Вопросы, связанные с сетями ... 384 Задержки подчиненного сервера ... 384 Причины задержки подчиненных серверов и способы их устранения ... 385 Заключение ... 387
Глава 11 Устранение неполадок репликации ... 388
Возможные причины проблем ... 389 Проблемы на главном сервере ... 389 Проблемы на подчиненном сервере ... 394 Более сложные проблемы репликации ... 400 Средства решения проблем репликации ... 402 Рекомендации ... 403 Изучите топологию ... 403 Проверяйте состояние всех серверов ... 406 Проверяйте журналы ... 406 Проверяйте конфигурацию ... 407 Выполняйте безопасную остановку ... 407 После сбоя выполняйте перезапуск должным образом ... 407 Выполняйте неудачные запросы вручную ... 408 Общие процедуры ... 408 Отчеты об ошибках репликации ... 410 Заключение ... 410
Глава 12 Защита инвестиций ... 412
Что такое защита информации? ... 413 Три составляющих защиты информации ... 413 Почему важна защита информации ... 414 Обеспечение целостности, восстановление информации и роль резервного копирования ... 414 Высокая доступность или аварийное восстановление? ... 415 Аварийное восстановление ... 416 Важность восстановления данных ... 422 Резервное копирование и восстановление ... 423 Утилиты резервного копирования и решения на уровне ОС ... 428 Приложение InnoDB Hot Backup ... 428 Физическое копирование файлов ... 432 Утилита mysqldump ... 434 XtraBackup ... 437 Мгновенные снимки LVM ... 437 Сравнение способов резервного копирования ... 442 Резервное копирование и репликация MySQL ... 443 Резервное копирование и восстановление с использованием репликации ... 443 PITR ... 444 Автоматизация резервного копирования ... 452 Заключение ... 454
Глава 13 MySQL Enterprise ... 456
Начинаем работу с MySQL Enterprise ... 457 Варианты подписки ... 458 Обзор установки ... 459 Компоненты MySQL Enterprise ... 460 Сервер MySQL Enterprise ... 460 MEM ... 460 Поддержка MySQL ... 464 Использование MySQL Enterprise ... 464 Установка ... 465 Решение проблем с агентом мониторинга ... 467 Мониторинг ... 468 Анализатор запросов ... 474 Дальнейшая информация ... 476 Заключение ... 477
ЧАСТЬ III Среды с высокой доступностью ... 479
Глава 14 Облачные вычисления ... 481
Что такое облачные вычисления? ... 482 Архитектуры облачных вычислений ... 484 Экономичны ли облачные вычисления? ... 488 Применение облачных вычислений ... 489 Преимущества облачных вычислений ... 489 Поставщики облачных вычислений ... 490 AWS ... 491 Обзор технологий ... 492 Как это работает ... 497 Утилиты облака Amazon ... 498 Приступаем к работе ... 501 Работа с диском ... 515 Что дальше? ... 520 MySQL в облаке ... 520 Репликация MySQL и EC2 ... 520 Рекомендации по использованию MySQL в EC2 ... 524 Открытое ПО для облачных вычислений ... 526 Заключение ... 527
Глава 15 MySQL Cluster ... 529
Что такое MySQL Cluster? ... 530 Терминология и компоненты ... 530 Отличия MySQL Cluster от MySQL ... 531 Типичная конфигурация ... 531 Возможности MySQL Cluster ... 532 Локальная и глобальная избыточность ... 534 Обработка журналов ... 534 Избыточность и распределенные данные ... 535 Архитектура MySQL Cluster ... 536 Как хранятся данные ... 537 Секционирование данных ... 540 Управление транзакциями ... 541 Онлайн-обслуживание ... 542 Пример конфигурации ... 543 Начало работы ... 543 Запуск MySQL Cluster ... 545 Тестирование кластера ... 550 Отключение кластера ... 550 Обеспечение высокой доступности ... 551 Восстановление системы ... 554 Восстановление узлов ... 555 Репликация ... 556 Обеспечение высокой производительности ... 561 Повышение производительности ... 561 Рекомендации по обеспечению высокой производительности ... 562 Заключение ... 565
Приложение Репликация: секреты и советы ... 567 Предметный указатель ... 580 Об авторах ... 606
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!