Оглавление Предисловие 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
  Избыточность	100
  Планирование	102
  Отказ подчиненного сервера 	102
  Отказ главного сервера 	102
  Отказ сервера ретрансляции 	103
  Аварийное восстановление 	103
  Процедуры	103
  Горячий резерв 	106
  Два главных сервера 	111
  Полусинхронная репликация 	120
  Повышение подчиненного сервера 	123
  Круговая репликация 	139
  Заключение	143
  
  Глава 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
  
  Ч А С Т Ь I I Мониторинг и восстановление после сбоев 	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
  
  Ч А С Т Ь I I I Среды с высокой доступностью 	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
                                                            
                                                       
                                                       