RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 19. Обзор советников, основанных на выражениях

В этой главе описываются основанные на выражении советники MySQL Enterprise Monitor.

19.1. Советники администрации

Эта секция описывает основанных на выражении советников администрации.

32-Bit Binary Running on 64-Bit AMD Or Intel System

Поднимает событие, если 32-битный модуль обнаружен, работая на 64-битной платформе. Большинство 32-битных модулей могут работать на 64-битной платформе. Однако, по исполнительным причинам, рекомендуется пользоваться 64-битными модулями на 64-битных платформах и 32-битными на 32-битных платформах.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Binary Log Debug Information Disabled

Двоичная регистрация захватывает DML, DDL и изменения настроек безопасности, которые происходят, и хранит эти изменения в двоичном формате. Двоичная регистрация позволяет восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам смотреть все изменения, сделанные в вашей базе данных.

Двоичная регистрация информационных событий используется для отладки и связанных целей. Информационные события позволены, установив binlog_rows_query_log_events = TRUE. По умолчанию этот советник производит событие, если регистрация ROW или MIXED позволена и binlog_rows_query_log_events=FALSE.

Двоичная регистрация информационныъ событий была введена в MySQL 5.6.2 и не поддерживаются более ранними версиями MySQL.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Binary Logging Is Limited

Двоичная регистрация захватывает DML, DDL и изменения настроек безопасности, которые происходят, и хранит эти изменения в двоичном формате. Двоичная регистрация позволяет восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам смотреть все изменения, сделанные в вашей базе данных.

Двоичная регистрация может быть ограничена определенными базами данных с помощью опций --binlog-do-db и --binlog-ignore-db. Однако, если эти варианты используются, ваши варианты восстановления момента времени ограничиваются соответственно, наряду с вашей способностью смотреть изменения, сделанные в вашей системе.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Binary Logging not Enabled

Двоичная регистрация захватывает DML, DDL и изменения настроек безопасности, которые происходят, и хранит эти изменения в двоичном формате. Двоичная регистрация позволяет восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам смотреть все изменения, сделанные в вашей базе данных.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Binary Logging not Synchronized To Disk At Each Write

По умолчанию содержание двоичной регистрации не синхронизировано с диском. Если хост-машина сервера или операционная система падают, есть шанс, что последние события в двоичной регистрации не сохранены на диске. Можно изменить это поведение, используя серверную переменную sync_binlog. Если значение этой переменной больше 0, сервер MySQL синхронизирует свою двоичную регистрацию с диском (с использованием fdatasync()) после sync_binlog группы написаны в двоичный журнал. Значение по умолчанию sync_binlog = 0, не делает никакой синхронизации с диском, в этом случае сервер полагается на операционную систему, чтобы время от времени сбрасывать содержание двоичной регистрации, как любого другого файла. Значение 1 является самым безопасным выбором, потому что в случае катастрофы вы потеряете самое большее одну группу передачи. Однако, это также самый медленный выбор (если у диска нет поддержанного батареей кэша, который делает синхронизацию очень быстрой).

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Binary Logs Automatically Removed Too Quickly

Двоичная регистрация захватывает DML, DDL и изменения настроек безопасности, которые происходят, и хранит эти изменения в двоичном формате. Двоичная регистрация позволяет восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам смотреть все изменения, сделанные в вашей базе данных.

Однако, количество файлов журнала и пространства, которое они используют, может вырасти быстро, особенно на занятом сервере, таким образом, важно удалять эти файлы на регулярной основе, когда они больше не необходимы, как только соответствующие резервные копии были сделаны. Параметр expire_logs_days позволяет автоматическое удаление двоичной регистрации.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? да

Database May not Be Portable Due To Identifier Case Sensitivity

Чувствительность к регистру основной операционной системы определяет чувствительность к регистру имен базы данных и имен таблиц. При использовании MySQL только на одной платформе, вы не должны обычно волноваться об этом. Однако, в зависимости от того, как вы формировали свой сервер, можно столкнуться с трудностями, если вы хотите передать таблицы между платформами, которые отличаются по чувствительности к регистру файловой системы.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Event Scheduler Disabled

Event Scheduler это структура для выполнения команд SQL в определенные времена или равномерно, так же как Unix crontab или Windows Task Scheduler.

Событие это сохраненный установленный код со сроком начала работы. В отличие от триггера, события не связаны с определенными операциями по таблице, но зато связаны с датами и временем. Общее использование это очистка устаревших данных, создание сводных таблиц для статистики и контроль работы сервера.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

General Query Log Enabled

Регистрация общего запроса это общий отчет, что делает mysqld. Сервер пишет информацию сюда, когда клиенты соединяются или разъединяются, это регистрирует каждый SQL-оператор, полученный от клиентов. Регистрация общего запроса может быть очень полезной, когда вы подозреваете ошибку в клиенте и хотите знать точно, что клиент послал в mysqld.

Однако, регистрация общего запроса не должна быть позволена в производственных средах потому, что:

  • Это добавляет нагрузку на сервер.

  • Это регистрирует запросы в порядке, в котором они были получены, а не в том, в каком они были выполнены, таким образом, это не надежно для резервной копии/восстановления.

  • Это растет быстро и может использовать много дискового пространства.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Host Cache Size not Sufficient

Сервер MySQL обслуживает кэш в памяти, который содержит IP-адрес, имя хоста и информацию об ошибках клиентов. Это используется в нескольких целях:

  • Храня результаты поиска IP-to-host, сервер избегает делать поиск DNS для каждой связи клиента, таким образом улучшая работу.

  • Кэш содержит информацию об ошибках, которые происходят во время процесса связи. Если слишком многие из них происходят последовательно от данного хоста без успешной связи, сервер блокирует дальнейшие связи от этого хоста.

    Если кэш недостаточно большой, чтобы обращаться со всеми хостами, от которых могут соединиться клиенты, работа может пострадать и можно потерять информацию об ошибках связи клиента.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

In-Memory Temporary Table Size Limited By Maximum Heap Table Size

Если пространство, требуемое, чтобы построить временную таблицу, превышает tmp_table_size или max_heap_table_size, MySQL составляет находящуюся на диске таблицу во временном каталоге сервера. Рекомендуется иметь большинство временных таблиц, составленных в памяти, и только большие временные таблицы создавать на диске.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

InnoDB Status Truncation Detected

InnoDB прежде всего использует SHOW ENGINE INnoDB STATUS для дампа информации о диагностике. Так как запрос SHOW может произвести много данных, в системе с очень многими параллельными сессиями, вывод ограничивается 64 килобайтами в версиях < 5.5.7 и 1 мегабайтом в версиях больше 5.5.7. Вы работаете с версией, где предел усечения должен составить 1 мегабайт, однако усечение все еще происходит в вашей системе, и MEM Agent полагается на этот вывод, чтобы обработать много ключевых статистических данных InnoDB.

Однако InnoDB обеспечивает опцию запуска innodb-status-file, которая выводит ту же самую информацию, как SHOW ENGINE INnoDB STATUS в файл innodb_status.mysql pid в каталоге данных. MySQL Enterprise Monitor Agent читает этот файл автоматически, если он существует, прежде, чем выполнить SHOW.

Для получения дополнительной информации посмотрите SHOW ENGINE Statement.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

InnoDB Strict Mode Is Off

Чтобы принять меры против проигнорированных опечаток и синтаксических ошибок в SQL или других непреднамеренных последствий различных комбинаций эксплуатационных способов и команд SQL, InnoDB обеспечивает строгий режим операций. В этом варианте InnoDB выдает состояние ошибки в определенных случаях, вместо того, чтобы выпустить предупреждение и обработать указанную команду. Это походит на sql_mode, который управляет тем, какой синтаксис SQL MySQL принимает и определяет, игнорирует ли это тихо ошибки или утверждает входной синтаксис и значения данных.

Используя новые пункты и параметры настройки для ROW_FORMAT и KEY_BLOCK_SIZE в CREATE TABLE, ALTER TABLE и CREATE INDEX, команда может быть запутывающей если не выполнена в строгом режиме. Если вы не работаете в строгом режиме, InnoDB игнорирует определенные синтаксические ошибки и составляет таблицу или индекс только с предупреждением в регистрации сообщения. Однако, если InnoDB использует строгий режим, такие ошибки производят непосредственную ошибку, а таблица или индекс не создается, экономя время, фиксируя ошибку в то время, когда команда выдается.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? да

InnoDB Tablespace Cannot Automatically Expand

Если табличному пространству InnoDB не позволяют автоматически расти, чтобы удовлетворить требования поступающих данных, и ваш запрос производит больше данных, чем есть места, ошибки out-of-space происходят, и ваш запрос может испытать проблемы.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

InnoDB Transaction Logs not Sized Correctly

Чтобы избежать частой деятельности контрольной точки и уменьшить в целом физический I/O, который может замедлить систему, журналы транзакций InnoDB должны составить приблизительно 50-100% от размера пула буферов InnoDB, в зависимости от размера пула буферов.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Multiple Threads Used When Repairing MyISAM Tables

Использование многократныых потоков, восстанавливая таблицы MyISAM, может улучшить работу, но может также повредить индлексы.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

MySQL Server no Longer Eligible For Oracle Premier Support

Чтобы гарантировать рабочие версии MySQL, которые все еще охвачены поддержкой, этот советник проверяет на версии MySQL, которые больше не имеют поддержки Premier. Определенно для версий 5.1 и 5.5.

Пороги по умолчанию определяются в числовом формате, где версия 5.5 представляется как 50500 (порог notice), а 5.1 как 50100 (порог Warning).

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Next-Key Locking Disabled For InnoDB But Binary Logging Enabled

Этот советник не оценивает для MySQL 8 или выше.

Блокировка следующего ключа в InnoDB может быть отключена, что может улучшить работу в некоторых ситуациях. Однако это может привести к непоследовательным данным, когда восстановление от двоичного журнала в репликации загружает ситуации с восстановлением. Можно отключить большинство промежуточных блокировок, включая большинство следующих блокировок ключа, при помощи --transaction-isolation=READ-COMMITTED или --innodb_locks_unsafe_for_binlog=1 . Использование этого совершенно безопасно, но только если вы также используете параметр --binlog-format=ROW.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

no Value Set For MyISAM Recover Options

Переменная myisam_recover_options (опция myisam-recover до MySQL 5.5.3) позволяет автоматическое восстановление MyISAM. Если этот выбор не установлен, то таблица помечается как поврежденная, и никакие сессии не могут выполнить SELECT или любой вид DML из нее.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Table Cache Set Too Low For Startup

Размер кэша таблицы управляет количеством таблиц, которые могут быть открыты в любой момент на сервере. MySQL работает, чтобы открыть и закрыть таблицы по мере необходимости, однако необходимо избегать слишком маленького кэша таблиц, заставляя MySQL постоянно открывать и закрывать таблицы, чтобы удовлетворить доступ к объекту.

Если предел табличного кэша был превышен количеством таблиц, открытых за первые три часа обслуживания, то размер кэша таблиц, вероятно, установлен слишком низким.

Частота по умолчанию 00:30:00

Автозакрытие включено по умолчанию? да

Time Zone Data not Loaded

Сервер MySQL поддерживает многократные часовые пояса и обеспечивает различные функции даты и времени, включая функцию, которая преобразовывает значения даты и времени от одного часового пояса до другого (CONVERT_TZ). Однако, в то время, как процесс установки MySQL составляет таблицы часового пояса в базе данных mysql, он не загружает их, необходимо сделать это вручную после установки. Если таблицы часового пояса не загружаются, определенные функции часового пояса, например, CONVERT_TZ не работают.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? да

Warnings not Being Logged

Этот советник не работает в MySQL 8 и выше.

Состояние ошибки, с которым сталкивается сервер MySQL, всегда пишется в журнал ошибок, но предупреждение зарегистрировано только, если log_warnings установлена в значение больше 0. Если предупреждения не зарегистрированы, вы не получаете ценную информацию о прерванных связях и различных других ошибках связи. Это особенно важно, если вы используете репликацию, таким образом, вы получаете больше информации о том, что происходит, например, сообщения об отказах сети и повторном соединении.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? да

19.2. Советники агента

Эта секция описывает основанных на выражении советников агента.

MySQL Agent Memory Usage Excessive

Память, необходимая агенту MySQL для основного контроля, довольно маленькая и зависит от количества правил, которые вы позволили. Однако, когда включен Query Analyzer, агент может использовать значительно больше памяти, чтобы контролировать и проанализировать безотносительно запросов, которые вы направляете через него. В этом случае используемый объем памяти зависит от количества уникальных нормализованных запросов, примеров запросов и раскрытия примеров плюс сетевая пропускная способность, требуемая, чтобы послать данные о запросе Service Manager. В целом объем памяти, используемый для Query Analyzer, маленький и хорошо ограничен, но при некоторых обстоятельствах это может стать чрезмерным, особенно на более старых версиях Linux.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? нет

MySQL Agent not Reachable

Чтобы контролировать сервер MySQL, Service Agent должен работать и общаться с Service Manager. Если агент не может общаться с Service Manager, то у Service Manager нет способа знать, работает ли проверяемый сервер базы данных MySQL, и он не может собрать текущие статистические данные, чтобы правильно оценить правила, намеченные для этого сервера.

Частота по умолчанию 00:00:01

Автозакрытие включено по умолчанию? да

19.3. Советники по вопросам доступности

Эта секция описывает основанных на выражении советников по доступности.

Attempted Connections To The Server Have Failed

Прерванные попытки подключения к MySQL могут указать на проблему относительно сервера или сети, или могут показать DoS или попытку взлома пароля MySQL Server. Количество прерванных соединений увеличено, когда:

  • У клиента нет привилегий, чтобы получить доступ к базе данных.

  • Клиент использует неправильный пароль.

  • Получен неправильный пакет.

  • Превышена переменная connect_timeout.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Excessive Percentage Of Attempted Connections To The Server Have Failed

Прерванные попытки подключения к MySQL могут указать на проблему относительно сервера или сети, или могут показать DoS или попытку взлома пароля MySQL Server. Количество прерванных соединений увеличено, когда:

  • У клиента нет привилегий, чтобы получить доступ к базе данных.

  • Клиент использует неправильный пароль.

  • Получен неправильный пакет.

  • Превышена переменная connect_timeout.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Maximum Connection Limit Nearing Or Reached

Как только максимальный предел связей для сервера MySQL был достигнут, никакие другие пользовательские связи не могут быть установлены, и ошибки происходят на клиентской стороне.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

Доступность MySQL

Отслеживает доступность MySQL, устанавливая полную связь с проверенным сервером MySQL с указанной частотой.

Статистические данные Availability на главной странице Dashboard Overview требуют, чтобы этот советник был позволен.

Автозакрытие включено по умолчанию? да

MySQL Server Has Been Restarted

Чтобы выполнить полезную работу, сервер базы данных должен работать непрерывно. Нормально для рабочего сервера работать непрерывно в течение многих недель, месяцев или дольше. Если сервер был недавно перезапущен, это может быть результат запланированного обслуживания, но это может также произойти из-за незапланированного события, которое должно быть исследовано.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

19.4. Советники NDB Cluster

Эта секция описывает основанных на выражении советников Cluster.

Cluster Data node Redo Buffer Space Getting Low

Советует, когда начинать заполнять буфера отката.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Cluster Data node Redo Log Space Getting Low

Советует, когда начинать заполнять журналы отката.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Cluster Data node Undo Buffer Space Getting Low

Советует, когда начинать заполнять буфера отмены.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Cluster Data node Undo Log Space Getting Low

Советует, когда начинать заполнять журналы отмены.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Cluster DiskPageBuffer Hit Ratio Is Low

Советует когда частота успешных обращений для DiskPageBuffer падает ниже порога. Может произойти временно после перезапуска одного или большего количества узлов данных. Это среднее отношение, начиная с последнего типового периода.

Для получения дополнительной информации о DiskPageBuffer см. The ndbinfo diskpagebuffer Table.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

19.5. Советники по вопросам использования памяти

Эта секция описывает основанных на выражении советников по вопросам использования памяти.

InnoDB Buffer Cache Has Sub-Optimal Hit Rate

Логический I/O во много раз быстрее, чем физический, поэтому DBA должен стремиться свести физический I/O к минимуму. Верно, что логический I/O не свободен, и что DBA должен работать, чтобы свести весь I/O к минимуму, но лучше, если большая часть доступа к данным выполняется в памяти. Используя InnoDB, большая часть доступа к данным должна произойти в памяти, поэтому частота успешных обращений кэш-буфера InnoDB должна быть высокой.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Key Buffer Size May not Be Optimal For Key Cache

Ключевое отношение удачного обращения в кэш представляет пропорцию ключей, которые читаются из ключевого кэша в памяти вместо диска. Это обычно должно быть больше 99% для максимальной эффективности.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Query Cache Has Sub-Optimal Hit Rate

Не работает в MySQL 8 или выше.

Когда позволено, кэш запроса должен иметь высокую степень хитов, означая, что запросы в кэше снова используются другими пользовательскими связями. Низкая частота успешных обращений может указать, что недостаточно памяти ассигнуется кэшу, идентичные вопросы не повторяются или что запросы в кэше слишком часто нарушаются INSERT, UPDATE или DELETE.

Этот советник вызывается, когда больше чем 25% кэша запросов используются, и отношение удачных обращений в кэш к вставкам в кэш низкое.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Query Cache Potentially Undersized

Не работает в MySQL 8 или выше.

При заполнении Query Cache и надо в него добавить больше запросов, он делает больше места в кэше, освобождая последние использованные запросы из кэша, а затем вставляя новые. Если это происходит часто, увеличьте размер кэша, чтобы избежать этого обмена.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Table Cache not Optimal

MySQL мультипоточный, таким образом, могут быть многие клиенты, выпускающие запросы для данной таблицы одновременно. Чтобы минимизировать проблему многократных потоков клиента, имеющих различные статусы на той же самой таблице, она открыта независимо каждым параллельным потоком.

Кэш таблицы, чтобы кэшировать описатели файла кэша для открытых таблиц, причем есть единственный кэш, разделенный всеми клиентами. Увеличение размера кэша таблицы позволяет mysqld сохранять больше таблиц открытыми одновременно, сокращая количество операций открытия файла и операций закрытия, которые должны быть сделаны. Если значение Open_tables приближается к table_open_cache, это может указать на исполнительные проблемы.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Thread Cache Size May not Be Optimal

Каждая связь с сервером базы данных MySQL работает в своем потоке. Создание потока занимает время, так что вместо того, чтобы убить поток, когда связь закрывается, сервер может держать поток в своем кэше потоков и использовать для новой связи позже.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

19.6. Советники Monitoring and Support Services

Эта секция описывает советники Monitoring and Support Services.

HTTP Server Performance

Обеспечивает инструменты для данных, которые показывают работу сервера HTTP.

Service Manager Health

Обеспечивает инструменты для данных, которые показывают работу MySQL Enterprise Service Manager.

Этот советник ответственен за следующее:

  • Обеспечивает данные для графов на странице MEM Service Manager. Чтобы показать эти графы, установите селекторы целей в Global Summaries, выберите MEM Service Manager из меню All Targets и выберите Timeseries Graphs в меню Metrics.

  • Проверяет метки времени данных, собранных агентом, чтобы гарантировать, что время проверенного сервера не установлено в будущее время или дату. От любых собранных данных с меткой времени больше 5 минут в будущем, относительно системных часов MySQL Enterprise Service Manager отказываются, и будет произведено критическое событие. Критическое событие содержит информацию об активах, время которых неправильно определяется.

    Сильно рекомендуется, чтобы вы гарантировали, что ваш сервер MySQL Enterprise Service Manager и все проверенные экземпляры синхронизируют их системные часы с тем же самым сервером времени.

  • Поднимает критическое событие, если SMTP Rate Limit, определенный в Event Handler, исчерпан. Если этот уровень превышен, никакие дальнейшие уведомления не посылают до концов периода и начала нового периода (1 минута). Событие перечисляет имена обработчиков событий, ограничение скорости которых было превышено и уровень, определенный в этом обработчике событий.

    Эти события не автозакрываются и не обновляются. Таким образом, они показывают только первую неудачу.

    Чтобы создать обработчик событий, который посылает уведомления, когда исчерпан SMTP Rate Limit, в окне Create Event Handler выберите актив ServiceManager: MEM Service Manager и Event Status = Critical. Определите другие значения как требуется.

    Это может привести к очень большому объему электронных писем, в зависимости от SMTP Rate Limits в Event Handlers.

Диагностика поддержки

Отслеживает конфигурацию MySQL для связывания в диагностике поддержки.

Unsupported Agent Version Advisor

MySQL Enterprise Monitor расширяется со временем, невозможно поддержать обратную совместимость между новыми MySQL Enterprise Service Managers и старыми агентами MySQL Enterprise Monitor. По сути, управление несогласованными версиями может привести к непредсказуемому поведению.

Сильно рекомендуется, чтобы вы модернизировали своих агентов, модернизируя ваш MySQL Enterprise Service Manager. MySQL Enterprise Service Manager и MySQL Enterprise Monitor Agent должны быть той же самой версией.

Этот советник обнаруживает неподдержанных агентов, которые пытаются соединиться с этим Service Manager.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? нет

19.7. Советники по операционной системе

Советники CPU Utilization и Filesystem Free Space описаны в главе 20. Советник Network Traffic Graphs используется только для того, чтобы изобразить цели в виде графика и не имеет никаких конфигурируемых параметров, кроме графика.

RAM Usage Excessive

Советник RAM Usage Excessive контролирует сумму свободной RAM в мегабайтах на проверенном хосте.

Этот советник позволяет вам определить пороги, в мегабайтах свободной RAM для Notice, Warning, Critical и Emergency.

19.8. Исполнительные советники

Эта секция описывает исполнительных советников.

Binary Log Usage Exceeding Disk Cache Memory Limits

Когда использование двоичного журнала превышает пределы памяти кэша журнала, журнал выполняет чрезмерные дисковые операции. Для оптимальной работы транзакции, которые перемещаются через двоичную регистрацию, должны содержаться в кэше двоичного журнала.

Для получения дополнительной информации о двоичной регистрации и кэше двоичного журнала, посмотрите The Binary Log.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Database File I/O Global Summary

Показывает текущее резюме файлового ввода-вывода по типу ожидания глобально из представления sys.x$io_global_by_wait_by_latency .

Этот советник не имеет никаких настраиваемых порогов и используется, чтобы наполнить графы и таблицы отчета Database File I/O. Отчет продолжает показывать исторические данные, если советник выключен, но не показывает новых данных.

Excessive Disk Temporary Table Usage Detected

Если пространство, требуемое, чтобы построить временную таблицу, превышает tmp_table_size или max_heap_table_size, MySQL составляет находящуюся на диске таблицу в каталоге сервера tmpdir. Кроме того, таблицы, у которых есть колонки TEXT или BLOB, автоматически помещены на диск.

По соображениям производительности, идеально, чтобы иметь большинство временных таблиц, составленных в памяти, кроме чрезвычайно больших временных таблиц, которые будут созданы на диске.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Excessive Number of Locked Processes

В зависимости от обстоятельств, механизмов хранения и других факторов, один процесс может использовать или получать доступ к ресурсу (например, таблица или строка) требуемому другим процессом, таким способом, что второй процесс не может продолжаться работу, пока первый процесс не выпускает ресурс. В этом случае второй процесс находится в блокированном статусе, пока ресурс не выпущен. Если много процессов находятся в блокированном статусе, это может быть признак серьезной проблемы, связанной с проверкой ресурса или длительной сессией, которая не выпускает проводимые в настоящее время блокировки.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? нет

Excessive Number of Long Running Processes

Большинство запросов и баз данных разработаны, чтобы выполнить запросы очень быстро. Если много запросов занимают много времени (больше, чем несколько секунд), это может быть признаком проблемы. В таких случаях запросы, возможно, должны быть настроены или переписаны, или добавлены индексы, чтобы улучшить работу. В других случаях, вероятно, придется перепроектировать схему базы данных.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? нет

Excessive Number of Long Running Processes Locked

Большинство запросов и баз данных разработаны, чтобы выполнить запросы очень быстро. Если много запросов занимают много времени (больше, чем несколько секунд), это может быть признаком проблемы. В таких случаях запросы, возможно, должны быть настроены или переписаны, или добавлены индексы, чтобы улучшить работу. В других случаях, вероятно, придется перепроектировать схему базы данных.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? нет

Flush Time Set To non-Zero Value

Если flush_time установлена не в 0, все таблицы закрываются каждые flush_time секунд для освобождения ресурсов и синхронизации данных с диском. Если ваша система ненадежна и имеет тенденцию виснуть или перезапускаться часто, вытеснение таблицы изменяется, этот путь ухудшает работу, но может уменьшить шанс повреждения таблицы или потери данных. Мы рекомендуем, чтобы этот выбор использовался только в Windows или системах с минимальными ресурсами.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Indexes not Being Used Efficiently

Целевой сервер, кажется, не использует индексы эффективно. Значения Handler_read_rnd_next и Handler_read_rnd отражают, что количество строк, прочитанных через полное сканирование таблицы, высоко по сравнению с переменными Handler, которые обозначают доступы индекса, например, Handler_read_key, Handler_read_next и т.д. Необходимо исследовать таблицы и запросы для надлежащего использования индексов.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

InnoDB Buffer Pool Writes May Be Performance Bottleneck

Для оптимальной работы InnoDB не придется ждать записи страниц в пул буферов InnoDB.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

InnoDB Flush Method May not Be Optimal

Различные значения для innodb_flush_method могут иметь отмеченный эффект на работу InnoDB. В некоторых версиях GNU/Linux и Unix сброс файлов на диск, вызывая fsync() (который InnoDB использует по умолчанию) или другие похожие методы может быть удивительно медленным. Если вы неудовлетворены производительностью записи базы данных, вы могли бы попытаться установить innodb_flush_method = O_DIRECT или O_DSYNC.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

InnoDB Log Buffer Flushed To Disk After Each Transaction

По умолчанию буфер InnoDB регистрации записан в файл журнала в каждой передаче транзакции и сброс на диск выполняется, что обеспечивает соблюдение ACID. В случае катастрофы, если можно позволить себе потерять секундное значение транзакций, можно достичь лучшей работы, установив innodb_flush_log_at_trx_commit в 0 или 2. Если вы устанавливаете значение 2, то только катастрофа операционной системы или отключение электроэнергии могут стереть транзакции за последнюю секунду. Это может быть очень полезно на ведомых серверах, где потеря секундного значения данных может быть возмещен от главного сервера в случае необходимости.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

InnoDB not Using Newest File Format

Не работает в MySQL 8 или выше.

InnoDB поддерживает сжатые таблицы ( формат строки COMPRESSED) и более эффективную обработку BLOB (формат строки DYNAMIC), но обе особенности требуют поддержки последнего формата файла (innodb_file_format=Barracuda). Эти особенности также требуют использования ROW_FORMAT=[DYNAMIC|COMPRESSED] в CREATE TABLE и ALTER TABLE.

Для получения дополнительной информации посмотрите Defining the Row Format of a Table.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? нет

InnoDB Log Waits May Be Performance Bottleneck

Для оптимальной работы InnoDB не придется ждать прежде, чем записать деятельность DML в буфер регистрации InnoDB.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

MyISAM Concurrent Insert Setting May not Be Optimal

MyISAM использует блокировку уровня таблицы, которая может оказать негативное влияние на работу, когда есть много параллельных INSERT и SELECT, так как INSERT блокирует все SELECT до окончания INSERT. Но MyISAM может формироваться, чтобы позволить INSERT и SELECT работать одновременно в определенных ситуациях.

  • Если concurrent_insert = 1, умолчание или AUTO как в MySQL 5.5.3 или выше, MySQL позволяет INSERT и SELECT работать одновременно с таблицами MyISAM, у которых нет свободных блоков посреди файла данных.

  • Если concurrent_insert = 2, (доступно в MySQL 5.0.6 и выше) или ALWAYS, как в MySQL 5.5.3 и выше, MySQL позволяет параллельные вставки для всех таблиц MyISAM, даже тех, в которых есть промежутки. Для таблицы с промежутком новые строки вставляются в конце таблицы, если это используется другим потоком. Иначе MySQL приобретает нормальную блокировку записи и вставляет строку в промежуток.

    Установка concurrent_insert = 2 позволяет таблицам расти, даже когда есть пустоты в середине. Это может быть плохо для запросов, которые удаляют большие куски данных, но продолжают выпускать много SELECT, таким образом эффективно предотвращая заполнение пустот через INSERT.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Prepared Statements not Being Closed

Подготовленные запросы могут увеличить производительность в приложениях, которые выполняют подобные запросы несколько раз, прежде всего потому, что запрос разобран только однажды. Подготовленные запросы могут также уменьшить сетевой трафик, потому что необходимо послать только данные для параметров для каждого выполнения, а не целый запрос.

Однако, подготовленные запросы занимают время, чтобы подготовить и потребляют память в сервере MySQL, пока они не закрываются.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Prepared Statements not Being Used Effectively

Подготовленные запросы могут увеличить производительность в приложениях, которые выполняют подобные запросы несколько раз, прежде всего потому, что запрос разобран только однажды. Подготовленные запросы могут также уменьшить сетевой трафик, потому что необходимо послать только данные для параметров для каждого выполнения, а не целый запрос.

Однако, подготовленные запросы занимают время, чтобы подготовить и потребляют память в сервере MySQL, пока они не закрываются, таким образом, важно использовать их правильно. Если вы только выполняете запрос только несколько раз, издержки могут и не окупиться.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Query Cache Is Excessively Fragmented

Не работает в MySQL 8 и выше.

Предоставление возможности кэша запроса может значительно увеличить производительность для SELECT, которые тождественно выполняются через многие связи, возвращая тот же самый набор результатов. Однако на работу можно оказать негативное влияние, если память, используемая для кэша запроса, чрезмерно фрагментируется, заставляя сервер сделать паузу, в то время как это удаляет записи из кэша или ищет свободный блок списка для хорошего блока, чтобы использовать, чтобы вставить новый запрос в кэш.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Table Lock Contention Excessive

Работа может быть ухудшена, если процент операций по таблице, которые должны ждать блокировки, высок по сравнению с общим количеством блокировок. Это может произойти, используя блокировка уровня таблицы, например, в MyISAM, вместо блокировки уровня строки.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Thread Cache not Enabled

Каждая связь с сервером базы данных MySQL работает в своем потоке. Создание потока занимает время, так что вместо того, чтобы убить поток, когда связь закрывается, сервер может держать поток в своем кэше потоков и использовать для новой связи позже.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Thread Pool Stall Limit Too Low

thread_pool_stall_limit позволяет пулу потоков обращаться с продолжительными запросами. Если бы продолжительному запросу разрешили заблокировать группу потоков, все другие связи, назначенные на группу, были бы заблокированы и неспособны начать выполнение, пока продолжительный запрос не закончит работу. В худшем случае это могло занять часы или даже дни.

Значение thread_pool_stall_limit должно быть выбрано таким образом, что запросы, которые выполняются дольше, чем это значение, считаются остановленными. Остановленные запросы производят много дополнительных издержек, так как они включают дополнительные контекстные переключения и в некоторых случаях даже дополнительные создания потоков. С другой стороны, установка thread_pool_stall_limit слишком высоким означает, что продолжительные запросы блокируют много коротко бегущих запросов дольше, чем необходимыо. Короткое ожидание позволяет потокам начаться быстрее. Короткие значения также лучше для предотвращения ситуаций с мертвой блокировкой. Значения долгого ожидания полезны для рабочей нагрузки, которая включает продолжительные запросы, чтобы избежать начинать слишком много новых запросов, в то время как текущие выполняются.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Thread Pooling not Enabled

С MySQL 5.5.16 коммерческие выпуски MySQL включают программное расширение пула потоков, которое предоставляет альтернативную обращающуюся с потоком модель, разработанную, чтобы уменьшить издержки. Это осуществляет пул потоков, который увеличивает работу сервера эффективно руководящими потоками выполнения запроса для больших количеств связей клиента.

С серверами, у которых есть много параллельных активных связей (обычно больше, чем количество CPU в машине) может быть выгодно для работы позволить программное расширение пула потоков. Это держит количество активного выполнения потоков в сервере ниже, обычно оставляя меньше проблем блокировками и ресурсам, все еще утверждая, что очень высокое значение связей учитывается от запросов.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Too Many Concurrent Queries Running

Слишком много активных запросов указывают, что есть серьезная нагрузка на сервере и может быть признаком конкуренции за блокировку или неоптимизированных SQL-запросов.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

19.9. Советники репликации

Эта секция описывает Replication Advisors.

Binary Log Checksums Disabled

Двоичный журнал пишется и читается MySQL Server под защитой от сбоев, потому что только полные события (или транзакции) зарегистрированы или читаются. По умолчанию сервер регистрирует продолжительность события, а также само событие и использует эту информацию, чтобы проверить, что событие было написано правильно.

Можно также заставить сервер писать контрольные суммы для событий, используя контрольные суммы CRC32, установив binlog_checksum, чтобы добавить дополнительный уровень безопасности к регистрациям и процессу репликации. Чтобы заставить сервер читать контрольные суммы от двоичной регистрации, используйте master_verify_checksum. slave_sql_verify_checksum заставляет ведомый поток SQL читать контрольные суммы из журнала регистрации.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Binary Log File Count Exceeds Specified Limit

Двоичная регистрация захватывает DML, DDL и изменения настроек безопасности, которые происходят, и хранит эти изменения в двоичном формате. Двоичная регистрация позволяет репликацию, а также восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам рассмотреть все изменения, сделанные в вашей базе данных. Однако, двоичные регистрации потребляют дисковое пространство и ресурсы файловой системы и могут быть удалены из рабочего сервера после того, как они больше не необходимы ведомым, соединяющимся с этим главным сервером, и после того, как они были сохранены.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Binary Log Row Based Images Excessive

С MySQL Server 5.6 построчная репликация теперь поддерживает контроль образа. Регистрируя только колонки, которые нужны для однозначного определения и выполнения изменений на каждой строке (в противоположность всем колонкам) для каждого изменения строки, возможно сэкономить дисковое пространство, сетевые ресурсы и использование памяти. Можно определить, полные или минимальные строки зарегистрированы, установив переменную binlog_row_image в minimal (только требуемые колонки), full (регистрировать все колонки) или noblob (все колонки за исключением ненужных BLOB или TEXT).

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Binary Log Space Exceeds Specified Limit

Двоичный журнал это ряд файлов, которые содержат информацию о модификациях данных, сделанных сервером MySQL. Это позволяет репликацию, а также восстановление момента времени, предотвращая потерю данных во время ситуации с аварийным восстановлением. Это также позволяет вам рассмотреть все изменения, сделанные в вашей базе данных.

Однако, двоичные журналы потребляют дисковое пространство и ресурсы файловой системы и могут быть удалены из рабочего сервера после того, как они больше не необходимы ведомым, соединяющимся с этим главным сервером, и после того, как они были сохранены.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Replication Configuration Advisor

Анализирует конфигурацию источников и точных копий в топологиях репликации и предупреждает, когда проблемы конфигурации были обнаружены:

  • Больше чем у одного сервера есть то же значение server_id (duplicate server IDs).

  • max_allowed_packet на реплике меньше, чем у источника.

  • slave_pending_jobs_size_max или slave_max_allowed_packet меньше, чем max_allowed_packet у источника.

  • Когда источник копирует к точной копии, у которой более старая версия MySQL Server, чем у ведущего.

Master not Verifying Checksums When Reading From Binary Log

Двоичный журнал пишется и читается MySQL Server под защитой от сбоев, потому что только полные события (или транзакции) зарегистрированы или читаются. По умолчанию сервер регистрирует продолжительность события, а также само событие и использует эту информацию, чтобы проверить, что событие было написано правильно.

Можно также заставить сервер писать контрольные суммы для событий, используя контрольные суммы CRC32, установив binlog_checksum, чтобы добавить дополнительный уровень безопасности к регистрациям и процессу репликации. Чтобы заставить сервер читать контрольные суммы от двоичной регистрации, используйте master_verify_checksum. slave_sql_verify_checksum заставляет ведомый поток SQL читать контрольные суммы из журнала регистрации.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Replication Status Advisor

Отслеживает статус ведомого и предупреждает, когда репликация остановилась или поставлена под угрозу в некотором роде, например один из ведомых потоков остановлен, показывает последние замеченные сообщения об ошибках и где возможно предоставляет определенную консультацию, чтобы исправить ошибки.

Slave Detection Of Network Outages Too High

Ведомые должны иметь дело с отключениями сетевого соединения, которые затрагивают способность ведомого получить последние данные от ведущего, а следовательно заставляют репликацию отставать. Однако, ведомый замечает сетевое отключение только после неполучения данных от ведущего в течение slave_net_timeout секунд. Можно хотеть уменьшить slave_net_timeout таким образом, отключения обнаружены и решены быстрее. Умолчание для этого параметра составляет 3600 секунд (1 час), что слишком много для большинства систем.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Replica Execution Position Too Far Behind

Когда точная копия получает обновления от своего источника, поток I/O хранит данные в местных файлах, известных как реле регистрации. Поток применения точной копии читает журналы реле и выполняет обновления, которые они содержат. Если положение, от которого читает поток применения, далеко позади положения, в которое в настоящее время пишет поток I/O, это знак, что репликация отстает, и результаты запросов, направленных к точной копии, могут не отразить последние изменения, внесенные на источнике.

Позволяет определение следующих порогов:

  • Same File Position Thresholds: Тревога произвела, если положение чтения потока применения и потока I/O, больше, чем формируемый порог и читают/пишут к тому же самому файлу.

  • Different File Position Thresholds: Тревога произведена, если положение чтения потока применения больше, чем формируемый порог, а поток I/O пишет другой файл.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Replication Too Far Behind

Если точная копия слишком далеко позади источника, результаты запросов, направленных к точной копии, могут не отразить последние изменения, внесенные на источнике.

Частота по умолчанию 00:01:00

Автозакрытие включено по умолчанию? да

Slave Has Login Accounts With Inappropriate Privileges

Изменение и удаление таблиц на ведомом могут сломать репликацию. Если ведомый также не принимает некопируемые таблицы, нет никакой потребности в учетных записях с этими привилегиями. Как альтернатива, необходимо установить серверный флаг read_only = ON, таким образом, сервер не позволяет обновлений кроме как от пользователей, которые имеют право SUPER или от обновлений, выполненных ведомыми потоками.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Slave not Configured As Read Only

Произвольные или непреднамеренные обновления ведомого могут сломать репликацию или заставить ведомого быть непоследовательным относительно его ведущего. Создание ведомого read_only может быть полезным, чтобы гарантировать, что ведомый принимает обновления только от его главного сервера, а не от клиентов, это минимизирует возможность непреднамеренных обновлений.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Slave not Verifying Checksums When Reading From Relay Log

Двоичный журнал пишется и читается MySQL Server под защитой от сбоев, потому что только полные события (или транзакции) зарегистрированы или читаются. По умолчанию сервер регистрирует продолжительность события, а также само событие и использует эту информацию, чтобы проверить, что событие было написано правильно.

Можно также заставить сервер писать контрольные суммы для событий, используя контрольные суммы CRC32, установив binlog_checksum, чтобы добавить дополнительный уровень безопасности к регистрациям и процессу репликации. Чтобы заставить сервер читать контрольные суммы от двоичной регистрации, используйте master_verify_checksum. slave_sql_verify_checksum заставляет ведомый поток SQL читать контрольные суммы из журнала регистрации.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Relay Log Space Is Very Large

Когда ведомый получает обновления от ведущего, поток I/O хранит данные в местных файлах, известных как реле регистрации. Поток применения точной копии читает журналы реле и выполняет обновления, которые они содержат. Если положение, от которого читает поток применения, далеко позади положения, в которое в настоящее время пишет поток I/O, это знак, что репликация отстает, и результаты запросов, направленных к точной копии, могут не отразить последние изменения, внесенные на источнике.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Slave Relay Logs not Automatically Purged

Когда ведомый получает обновления от ведущего, поток I/O хранит данные в местных файлах, известных как реле регистрации. Поток применения точной копии читает журналы реле и выполняет обновления, которые они содержат. Если положение, от которого читает поток применения, далеко позади положения, в которое в настоящее время пишет поток I/O, это знак, что репликация отстает, и результаты запросов, направленных к точной копии, могут не отразить последние изменения, внесенные на источнике.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Slave SQL Processing not Multi-Threaded

С MySQL Server version 5.6 репликация теперь поддерживает параллельное выполнение мультипоточных транзакций на ведомом. Когда параллельное выполнение позволено, ведомый поток SQL работает как координатор для многих потоков ведомого, как определено значением slave_parallel_workers.

Текущее внедрение мультипоточности на ведомом предполагает, что данные и обновления разделены на основе цели для каждой базы данных, и что обновления в данной базе данных происходят в том же самом относительном порядке, как они делаются на ведущем. Однако, не необходимо скоординировать транзакции между различными базами данных. Транзакции могут также быть распределены для каждой базы данных, что означает, что рабочий поток на ведомом может обработать последовательные транзакции на данной базе данных, не ожидая обновлений других баз данных, чтобы закончить работу.

Иранзакции на различных базах данных могут произойти в различном порядке на ведомом и на ведущем, просто проверка на последнюю выполненную транзакцию не гарантирует, что все предыдущие транзакции на ведущем были выполнены на ведомом. Это имеет последствия для регистрации и восстановления, используя многопоточного ведомого.

Наконец, обратите внимание на то, что, начиная с MySQL Server 5.7.2, есть также поддержка параллелизации интрасхемы (LOGICAL_CLOCK). См. slave-parallel-type.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Slave Without REPLICATION SLAVE Accounts

Если ведущий когда-нибудь терпит неудачу, можно хотеть использовать одного из ведомых как нового ведущего. Учетная запись с правом REPLICATION SLAVE должна существовать для сервера, чтобы действовать как ведущий репликации (таким образом, ведомый может соединиться с ним), таким образом, хорошая идея создать такую учетку на ведомых.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

19.10. Советники Schema

AUTO_INCREMENT Field Limit Nearly Reached

Много запросов должны произвести уникальные числа и последовательности в идентификационных целях, таких как идентификаторы клиентов или признаки заявки на устранение неисправности, членство или номера и т.д. Механизм MySQL для того, чтобы сделать это является признаком колонки AUTO_INCREMENT, который позволяет вам произвести порядковые номера автоматически.

Однако, диапазон чисел, которые могут быть произведены, ограничивается базовым типом данных. Например, максимальное значение, возможное для колонки TINYINT UNSIGNED = 255. При попытке произвести число, которое превышает максимум, позволенный базовым типом данных, например, вставляя значение NULL в столбец AUTO_INCREMENT, ошибки базы данных вызываются, и ваш запрос может вести себя неправильно.

Основная цель AUTO_INCREMENT в MySQL состоит в том, чтобы произвести последовательность положительных целых чисел. Использование неположительных чисел в колонке AUTO_INCREMENT не поддерживается, таким образом, можно также определить те колонки как UNSIGNED, это эффективно удваивает их допустимый диапазон.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Object Changed: Database Has Been Altered

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Database Has Been Created

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Database Has Been Dropped

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Function Has Been Created

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Function Has Been Dropped

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Index Has Been Created

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Index Has Been Dropped

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

MyISAM Indexes Found with no Statistics

Оптимизатору MySQL нужна статистика индекса, чтобы помочь сделать выбор о том, использовать ли индексы, чтобы удовлетворить SQL-запросы. Наличие устаревшей статистики или ее отсутствие вообще ограничивает способность оптимизатора сделать умный и информированный выбор плана доступа.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? нет

Object Changes Detected

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Server-Enforced Data Integrity Checking Disabled

Режимы SQL определяют, какой синтаксис SQL MySQL должен поддерживать и какое подтверждение правильности данных выполнить. Если никакие режимы SQL не включены, это означает, что нет никакой формы проведенной в жизнь сервером целостности данных, что означает, что поступающие данные, которые недействительны, не отклонены сервером, а вместо этого изменяются, чтобы соответствовать типу данных целевого столбца по умолчанию.

Любой клиент может изменить режим SQL его собственной сессии в любое время.

Для получения дополнительной информации посмотрите Server SQL Modes.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Server-Enforced Data Integrity Checking not Strict

Режимы SQL определяют, какой синтаксис SQL MySQL должен поддерживать и какое подтверждение правильности данных выполнить. Есть много возможных вариантов, которые могут использоваться друг с другом, чтобы определить различные степени синтаксиса и подтверждения правильности данных сервером MySQL. Однако, чтобы гарантировать высший уровень уверенности для целостности данных, по крайней мере одно из следующего должно быть включено: TRADITIONAL, STRICT_TRANS_TABLES или STRICT_ALL_TABLES.

Для получения дополнительной информации посмотрите Server SQL Modes.

Любой клиент может изменить режим SQL его собственной сессии в любое время.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Object Changed: Table Has Been Altered

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Table Has Been Created

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Object Changed: Table Has Been Dropped

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

Tables Found with no Primary or Unique Keys

Первичный или уникальный ключ таблицы однозначно определяет каждую запись в таблице. Кроме очень необычных обстоятельств, у каждой таблицы базы данных должны быть одна или более колонок, определяемых как первичный ключ или как уникальный ключ, это обычная практика.

Таблицы, испытывающие недостаток в первичных или уникальных ключах, могут оказать очень негативное влияние на производительность репликации, используя binlog_format=ROW.

Частота по умолчанию 12:00:00

Автозакрытие включено по умолчанию? нет

Object Changed: User Has Been Dropped

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:10:00

Автозакрытие включено по умолчанию? нет

19.11. Советники по безопасности

Советники MySQL Enterprise Firewall и MySQL Enterprise Audit Plug-in описаны в MySQL Enterprise Firewall и MySQL Enterprise Audit Plugin.

Account Has Old Insecure Password Hash

До MySQL 4.1 хэши пароля, вычисленные функцией PASSWORD(), были 16 байтов длиной. С MySQL 4.1 (и позже), PASSWORD() был изменен, чтобы произвести 41-байтовое значение хэш-функции, чтобы обеспечить повышенную безопасность.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Account Requires Unavailable Authentication Plug-ins

MySQL поддерживает много форм идентификации с релиза 5.5, включая механизмы внешней аутентификации, используя PAM или идентификацию Windows с коммерческими версиями с MySQL 5.5.16 или выше. Если пользователь формируется, чтобы использовать программное расширение идентификации, а то программное расширение не загружается при запуске сервера, это блокирует доступ к базе данных для тех пользователей.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? да

Insecure Password Authentication Option Is Enabled

Не работает в MySQL 8 и выше.

До MySQL 4.1 хэши пароля, вычисленные функцией PASSWORD(), были 16 байтов длиной. С MySQL 4.1 (и позже), PASSWORD() был изменен, чтобы произвести 41-байтовое значение хэш-функции, чтобы обеспечить повышенную безопасность. Однако, чтобы позволить прежнюю совместимость с пользовательскими таблицами, которые мигрировали от версий до 4.1, можно формировать MySQL, чтобы принять логины, у которых есть хэши старой функции PASSWORD(), но это не рекомендуется.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Insecure Password Generation Option Is Enabled

До MySQL 4.1 хэши пароля, вычисленные функцией PASSWORD(), были 16 байтов длиной. С MySQL 4.1 (и позже), PASSWORD() был изменен, чтобы произвести 41-байтовое значение хэш-функции, чтобы обеспечить повышенную безопасность. Однако, чтобы позволить прежнюю совместимость с пользовательскими таблицами, которые мигрировали от версий до 4.1, можно формировать MySQL, чтобы принять логины, у которых есть хэши старой функции PASSWORD(), но это не рекомендуется.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

LOCAL Option Of LOAD DATA Statement Is Enabled

LOAD DATA может загрузить файл, который расположен на хосте сервера или на хосте клиента, когда указано LOCAL.

Есть две потенциальных проблемы безопасности с поддержкой LOCAL версии LOAD DATA:

  • Передача файла от хоста клиента серверу начинается сервером MySQL. В теории сервер мог быть построен, который скажет программе клиента передавать файл выбора сервера, а не файл, названный клиентом в LOAD DATA. Такой сервер мог бы получить доступ к любому файлу на хосте клиента, к которому у пользователя клиента есть доступ для чтения.

  • В веб-среде, где клиенты соединяются от отдельного веб-сервера, пользователь мог бы использовать LOAD DATA LOCAL, чтобы прочитать любые файлы, к которым у процесса веб-сервера есть доступ для чтения (предполагается, что пользователь может управлять любым SQL-запросом сервера). В этой окружающей среде клиент относительно сервера MySQL на самом деле это веб-сервер, а не удаленная программа, управляемая пользователем, который соединяется с веб-сервером.

Для получения дополнительной информации посмотрите LOAD DATA Statement.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Policy-Based Password Validation Does not Perform Dictionary Checks

Если пользователи создают слабые пароли, это ставит под угрозу безопасность сервера. Начиная с MySQL Server 5.6, MySQL предлагает плагин validate_password, который может использоваться, чтобы проверить пароли и улучшить безопасность. С этим программным расширением можно и провести в жизнь политику надежности пароля (например, пароли должны быть по крайней мере 8 длиной, иметь строчные и прописные буквы и содержать по крайней мере один специальный небуквенно-цифровой знак).

Для получения дополнительной информации о плагине validate_password см. The Password Validation Component.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Policy-Based Password Validation Is Weak

Если пользователи создают слабые пароли, это ставит под угрозу безопасность сервера. Начиная с MySQL Server 5.6, MySQL предлагает плагин validate_password, который может использоваться, чтобы проверить пароли и улучшить безопасность. С этим программным расширением можно и провести в жизнь политику надежности пароля (например, пароли должны быть по крайней мере 8 длиной, иметь строчные и прописные буквы и содержать по крайней мере один специальный небуквенно-цифровой знак).

Для получения дополнительной информации о плагине validate_password см. The Password Validation Component.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Policy-Based Password Validation not Enabled

Если пользователи создают слабые пароли, это ставит под угрозу безопасность сервера. Начиная с MySQL Server 5.6, MySQL предлагает плагин validate_password, который может использоваться, чтобы проверить пароли и улучшить безопасность. С этим программным расширением можно и провести в жизнь политику надежности пароля (например, пароли должны быть по крайней мере 8 длиной, иметь строчные и прописные буквы и содержать по крайней мере один специальный небуквенно-цифровой знак).

Для получения дополнительной информации о плагине validate_password см. The Password Validation Component.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Privilege Alterations Detected: Privileges Granted

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Privilege Alterations Detected: Privileges Revoked

Для сред разработки изменения баз данных и объектов может быть нормальным, но не для производственных сред. Мудро знать, когда любые изменения происходят в производственной среде относительно любых структур базы данных и отслеживать причины изменений.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Privilege Alterations Have Been Detected

Для сред разработки изменения привилегий безопасности базы данных могут быть нормальным явлением, но для производственных сред мудро знать, когда происходят любые изменения настроек безопасности и привилегий базы данных, чтобы гарантировать, что эти изменения разрешаются и требуются.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Root Account Can Login Remotely

По умолчанию MySQL включает пользователя root с неограниченными привилегиями, который, как правило, используется, чтобы управлять сервером MySQL. Если возможно, учетки с этим большим количеством власти не должны позволять удаленные входы в систему, чтобы ограничить доступ только теми пользователями, которые в состоянии авторизоваться на машине, на которой работает MySQL. Это помогает препятствовать тому, чтобы неавторизованные пользователи получили доступ и изменили систему.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Root Account Without Password

Пользователь root имеет неограниченные привилегии и предназначается для задач администрирования. У привилегированных учетных записей должны быть сильные пароли, чтобы препятствовать тому, чтобы неавторизованные пользователи получили доступ и изменили систему.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

SHA-256 Password Authentication not Enabled

Чтобы помочь сохранять сервер безопасным, пароль каждого пользователя зашифрован, и чем более сильный метод шифрования, тем более безопасный сервер. Начиная с MySQL Server 5.6, MySQL предлагает новый алгоритм шифрования, который выполняет идентификацию, используя хеширование пароля SHA-256. Это более сильное шифрование, чем доступное с родной идентификацией.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Server Contains Default "test" Database

По умолчанию MySQL идет с базой данных test, к которой любой может получить доступ. Эта база данных предназначается только для тестирования и должна быть удалена прежде, чем переместиться в производственную среду. Поскольку к базе данных по умолчанию test может получить доступ любой пользователь, она должна быть немедленно удалена как часть процесса установки.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Server Has Accounts Without A Password

Пользователи без паролей особенно опасны, потому что нападающий должен предположить только имя пользователя. Назначение паролей всем пользователям помогает препятствовать тому, чтобы неавторизованные пользователи получили доступ к системе.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

Server Has Anonymous Accounts not Being Used As Proxies

Анонимные учетные записи MySQL позволяют клиентам соединяться с сервером, не определяя имя пользователя. Так как анонимные учетки известны в MySQL, их удаление помогает препятствовать тому, чтобы неавторизованные пользователи получили доступ к системе.

Этот советник дифференцируется между анонимными учетками и пользователями прокси. Для получения дополнительной информации о пользователях прокси посмотрите Proxy Users.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? да

Server Has no Locally Authenticated Root User

MySQL 5.5 поддерживает встроенную идентификацию и внешнюю аутентификацию с помощью других методов, таких как PAM (LDAP, идентификация пользователя UNIX) и идентификация Windows. Однако, если все пользователи 'root' формируются, чтобы использовать внешнюю аутентификацию, если эта внешняя аутентификация должна была потерпеть неудачу (например, сервер LDAP недоступен), то весь доступ администратора к MySQL Server закрыт.

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

Server Includes A Root User Account

По умолчанию MySQL включает пользователя root с неограниченными привилегиями, который, как правило, используется, чтобы управлять сервером MySQL. Нет никакой причины, по которой нужно назвать его именно root. Пользователи с этим большим количеством власти не должны быть легко обнаружены. Так как учетка root известен в MySQL, изменение его названия помогает препятствовать тому, чтобы неавторизованные пользователи получили доступ и изменили систему.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Symlinks Are Enabled

Можно переместить таблицы и базы данных из каталога базы данных в другие каталоги и заменить их символьными ссылками на новые местоположения. Вы могли бы хотеть сделать это, например, переместить базу данных в файловую систему с большим свободным пространством или увеличить скорость вашей системы, распространяя ваши таблицы к различным дискам.

Однако, символьные ссылки могут поставить под угрозу безопасность. Это особенно важно, если вы управляете mysqld как root, потому что любой, у кого есть доступ для записи к каталогу данных сервера, мог бы тогда удалить любой файл в системе!

Частота по умолчанию 06:00:00

Автозакрытие включено по умолчанию? нет

User Has Rights To Database That Does not Exist

Когда база данных удалена, полномочия пользователя на базе данных автоматически не удалены. Это имеет последствия для безопасности, поскольку пользователь возвращает привилегии, если база данных с тем же самым именем создается в будущем, что может не быть намеченным результатом.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

User Has Rights To Table That Does not Exist

Когда база данных удалена, полномочия пользователя на базе данных автоматически не удалены. Это имеет последствия для безопасности, поскольку пользователь возвращает привилегии, если база данных с тем же самым именем создается в будущем, что может не быть намеченным результатом.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Users Can View All Databases On MySQL Server

Право SHOW DATABASES нужно предоставить только пользователям, которые должны видеть все базы данных MySQL Server. Рекомендуется, чтобы MySQL Server был запущен с параметром --skip-show-database, чтобы препятствовать тому, чтобы любой использовал SHOW DATABASES, если ему определенно не предоставили привилегию SHOW DATABASES.

Если пользователю предоставляют какую-либо глобальную привилегию, такую как CREATE TEMPORARY TABLES или LOCK TABLES, им автоматически дают способность показать базы данных, если сервер не запущен с опцией --skip-show-database. DBA должен знать об этом факте, если любые приложения используют временные таблицы.

Частота по умолчанию 00:05:00

Автозакрытие включено по умолчанию? нет

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru