5.1.9 Переменные состояния сервера
Сервер MySQL поддерживает множество переменных состояния, которые предоставляют информацию о его работе. Вы можете просмотреть эти переменные и их значения, используя оператор SHOW [GLOBAL | SESSION]
STATUS (см. Раздел 13.7.5.35, «Оператор SHOW STATUS»). Необязательное ключевое слово GLOBAL агрегирует значения по всем подключениям, а SESSION отображает значения для текущего подключения.
mysql> SHOW GLOBAL STATUS;
+-----------------------------------+------------+
| Variable_name | Value |
+-----------------------------------+------------+
| Aborted_clients | 0 |
| Aborted_connects | 0 |
| Bytes_received | 155372598 |
| Bytes_sent | 1176560426 |
...
| Connections | 30023 |
| Created_tmp_disk_tables | 0 |
| Created_tmp_files | 3 |
| Created_tmp_tables | 2 |
...
| Threads_created | 217 |
| Threads_running | 88 |
| Uptime | 1389872 |
+-----------------------------------+------------+
Многие переменные состояния сбрасываются до 0 оператором FLUSH STATUS.
В этом разделе приводится описание каждой переменной состояния. Для краткого описания переменных состояния см. Раздел 5.1.5, «Справочник по переменным состояния сервера». Сведения о переменных состояния, специфичных для NDB Cluster, см. в Разделе 21.4.3.9.3, «Переменные состояния NDB Cluster».
Значения переменных состояния показаны в следующем списке.
-
Количество подключений, прерванных из-за того, что клиент завершил работу, не закрыв подключение должным образом. См. Раздел B.3.2.9, «Ошибки связи и прерванные подключения».
-
Количество неудачных попыток подключения к серверу MySQL. См. Раздел B.3.2.9, «Ошибки связи и прерванные подключения».
Для получения дополнительной информации о подключениях, проверьте переменные состояния
Connection_errors_и таблицуxxxhost_cache.Начиная с MySQL 5.7.3,
Aborted_connectsне отображается в встроенном сервере, потому что для него эта переменная не обновляется и не имеет смысла. -
Количество транзакций, которые использовали кэш временного бинарного журнала, но превысили значение
binlog_cache_sizeи использовали временный файл для хранения инструкций из транзакции.Количество нетранзакционных инструкций, которые привели к записи кэша транзакции бинарного журнала на диск, отслеживается отдельно в переменной состояния
Binlog_stmt_cache_disk_use. -
Количество транзакций, которые использовали кэш бинарного журнала.
-
Количество нетранзакционных инструкций, которые использовали кэш бинарного журнала для инструкций, но превысили значение
binlog_stmt_cache_sizeи использовали временный файл для хранения этих инструкций. -
Количество нетранзакционных инструкций, которые использовали кэш бинарного журнала для инструкций.
-
Количество байтов, полученных от всех клиентов.
-
Количество байтов, отправленных всем клиентам.
-
Com_xxxПеременные счётчиков инструкций
Com_указывают на количество раз, когда каждая инструкцияxxxxxxбыла выполнена. Для каждого типа инструкций существует одна переменная состояния. Например,Com_deleteиCom_updateподсчитывают инструкцииDELETEиUPDATEсоответственно.Com_delete_multiиCom_update_multiаналогичны, но применяются к инструкциямDELETEиUPDATE, которые используют синтаксис с несколькими таблицами.Если результат запроса возвращается из кэша запросов, сервер увеличивает переменную состояния
Qcache_hits, а неCom_select. См. Раздел 8.10.3.4, «Статус и обслуживание кэша запросов».Все переменные
Com_stmt_увеличиваются, даже если аргумент подготовленного запроса неизвестен или произошла ошибка во время выполнения. Другими словами, их значения соответствуют количеству выданных запросов, а не количеству успешно завершённых запросов. Например, поскольку переменные состояния инициализируются при каждом запуске сервера и не сохраняются после перезапуска, переменнаяxxxCom_shutdown, которая отслеживает инструкцииSHUTDOWN, обычно имеет значение ноль, но может быть отличной от нуля, если инструкцииSHUTDOWNбыли выполнены, но завершились с ошибкой.Переменные состояния
Com_stmt_имеют следующие значения:xxxCom_stmt_prepareCom_stmt_executeCom_stmt_fetchCom_stmt_send_long_dataCom_stmt_resetCom_stmt_close
Эти переменные представляют команды подготовленного запроса. Их названия относятся к набору команд
COM_, используемому в сетевом слое. Другими словами, их значения увеличиваются всякий раз, когда выполняются вызовы API подготовленного запроса, такие как mysql_stmt_prepare(), mysql_stmt_execute() и т. д. ОднакоxxxCom_stmt_prepare,Com_stmt_executeиCom_stmt_closeтакже увеличиваются дляPREPARE,EXECUTEилиDEALLOCATE PREPAREсоответственно. Кроме того, значения более старых переменных счётчиков инструкцийCom_prepare_sql,Com_execute_sqlиCom_dealloc_sqlувеличиваются для инструкцийPREPARE,EXECUTEиDEALLOCATE PREPAREсоответственно.Com_stmt_fetchобозначает общее количество сетевых запросов, отправленных при получении данных из курсоров.Com_stmt_reprepareпоказывает количество раз, когда сервер автоматически повторно подготавливал инструкции после изменений метаданных таблиц или представлений, на которые ссылается инструкция. Операция повторной подготовки увеличиваетCom_stmt_reprepareи такжеCom_stmt_prepare.Com_explain_otherуказывает количество выполненных инструкцийEXPLAIN FOR CONNECTION. См. Раздел 8.8.4, «Получение информации о плане выполнения для подключённого соединения».Com_change_repl_filterуказывает количество выполненных инструкцийCHANGE REPLICATION FILTER. -
Использует ли соединение клиента сжатие в протоколе клиент/сервер.
-
Эти переменные предоставляют информацию об ошибках, возникающих во время процесса подключения клиента. Они являются глобальными и представляют собой счётчики ошибок, агрегированные по подключениям со всех хостов. Эти переменные отслеживают ошибки, не учтённые кэшем хоста (см. Раздел 5.1.11.2, «DNS-поиск и кэш хостов»), такие как ошибки, которые не связаны с TCP-соединениями, возникают очень рано в процессе подключения (даже до того, как известен IP-адрес) или не специфичны для какого-либо конкретного IP-адреса (например, условия недостатка памяти).
Начиная с MySQL 5.7.3, переменные состояния
Connection_errors_не отображаются во встроенном сервере, так как для него они не обновляются и не имеют смысла.xxx-
Количество ошибок, возникших во время вызовов
accept()на порту прослушивания. -
Количество подключений, отклоненных из-за внутренних ошибок сервера, таких как невозможность запуска новой нити или недостаток памяти.
-
Connection_errors_max_connectionsКоличество подключений, отклоненных из-за достижения лимита сервера
max_connections. -
Connection_errors_peer_addressКоличество ошибок, возникших во время поиска IP-адресов подключающихся клиентов.
-
Количество ошибок, возникших во время вызовов
select()илиpoll()на порту прослушивания. (Отказ этой операции не обязательно означает отклонение подключения клиента.) -
Количество подключений, отклоненных библиотекой
libwrap.
-
-
Количество попыток подключения (успешных и неуспешных) к серверу MySQL.
-
Количество внутренних временных таблиц на диске, созданных сервером при выполнении запросов.
Вы можете сравнить количество созданных внутренних временных таблиц на диске с общим количеством созданных внутренних временных таблиц, сравнив значения
Created_tmp_disk_tablesиCreated_tmp_tables.См. также Раздел 8.4.4, «Использование внутренних временных таблиц в MySQL».
-
Количество временных файлов, созданных mysqld.
-
Количество внутренних временных таблиц, созданных сервером при выполнении запросов.
Вы можете сравнить количество созданных внутренних временных таблиц на диске с общим количеством созданных внутренних временных таблиц, сравнив значения
Created_tmp_disk_tablesиCreated_tmp_tables.См. также Раздел 8.4.4, «Использование внутренних временных таблиц в MySQL».
Каждое выполнение оператора
SHOW STATUSиспользует внутреннюю временную таблицу и увеличивает глобальное значениеCreated_tmp_tables. -
Эта переменная состояния устарела (потому что
DELAYEDвставки не поддерживаются); ожидается её удаление в будущей версии. -
Эта переменная состояния устарела (потому что
DELAYEDвставки не поддерживаются); ожидается её удаление в будущей версии. -
Эта переменная состояния устарела (потому что
DELAYEDвставки не поддерживаются); ожидается её удаление в будущей версии. -
Количество раз, когда сервер очистил таблицы, либо потому, что пользователь выполнил оператор
FLUSH TABLES, либо из-за внутренней работы сервера. Также увеличивается при получении пакетаCOM_REFRESH. Это в отличие отCom_flush, которое показывает, сколько операторовFLUSHбыло выполнено, будь тоFLUSH TABLES,FLUSH LOGSи т. д. -
group_replication_primary_memberПоказывает UUID первичного члена, когда группа работает в режиме с одним первичным членом. Если группа работает в режиме с несколькими первичными членами, отображается пустая строка.
-
Количество внутренних операторов
COMMIT. -
Количество раз, когда строки были удалены из таблиц.
-
Сервер увеличивает эту переменную для каждого вызова своей функции
external_lock(), которая обычно происходит в начале и конце доступа к экземпляру таблицы. Могут быть различия между хранилищами данных. Эта переменная может быть использована, например, чтобы определить для запроса, который обращается к разбиеной таблице, количество разделов, которые были удалены перед блокировкой: проверьте, на сколько увеличился счётчик для запроса, вычтите 2 (2 вызова для самой таблицы), затем разделите на 2, чтобы получить количество заблокированных разделов. -
Количество раз, когда сервер использует собственную реализацию Многодиапазонного чтения хранилища данных для доступа к таблице.
-
Счётчик для фазы подготовки операций двухфазного подтверждения.
-
Количество раз, когда первая запись в индексе была прочитана. Если это значение высокое, это указывает на то, что сервер выполняет много полных сканирований индексов (например,
SELECT col1 FROM foo, предполагая, чтоcol1индексировано). -
Количество запросов для чтения строки на основе ключа. Если это значение высокое, это хороший показатель того, что ваши таблицы должным образом индексированы для ваших запросов.
-
Количество запросов для чтения последнего ключа в индексе. С
ORDER BYсервер выполняет запрос на первую запись, за которым следуют несколько запросов на следующую запись, а сORDER BY DESCсервер выполняет запрос на последнюю запись, за которым следуют несколько запросов на предыдущую запись. -
Количество запросов для чтения следующей строки в порядке ключей. Это значение увеличивается, если вы запрашиваете столбец индекса с ограничением диапазона или если вы выполняете сканирование индекса.
-
Количество запросов для чтения предыдущей строки в порядке ключей. Этот метод чтения в основном используется для оптимизации
ORDER BY ... DESC. -
Количество запросов для чтения строки на основе фиксированной позиции. Это значение высокое, если вы выполняете много запросов, требующих сортировки результата. Возможно, у вас много запросов, которые требуют, чтобы MySQL сканировал всю таблицу, или у вас есть соединения, которые не используют ключи должным образом.
-
Количество запросов для чтения следующей строки в файле данных. Это значение высокое, если вы выполняете много сканирований таблиц. Как правило, это указывает на то, что ваши таблицы не должным образом индексированы или ваши запросы не написаны так, чтобы использовать индексы.
-
Количество запросов для выполнения операции отката хранилищем данных.
-
Количество запросов для помещения сохраняющей точки хранилищем данных.
-
Количество запросов для отката хранилищем данных до сохраняющей точки.
-
Количество запросов для обновления строки в таблице.
-
Количество запросов для вставки строки в таблицу.
-
Примечание
Переменная состояния
Innodb_available_undo_logsустарела начиная с MySQL 5.7.19; ожидается её удаление в будущей версии.Общее количество доступных
InnoDB. Дополняет системную переменнуюinnodb_rollback_segments, которая определяет количество активных сегментов отката.Один сегмент отката всегда находится в системном пространстве таблиц, а 32 сегмента отката зарезервированы для использования временными таблицами и размещаются во временном пространстве таблиц (
ibtmp1). См. Раздел 14.6.7, «Журналы отката».Если вы инициализируете экземпляр MySQL с 32 или менее сегментами отката,
InnoDBвсё равно назначает один сегмент отката системному пространству таблиц и 32 сегмента отката временной таблице. В этом случаеInnodb_available_undo_logsсообщает о 33 доступных сегментах отката, даже если экземпляр был инициализирован с меньшим значениемinnodb_rollback_segments. -
Innodb_buffer_pool_dump_statusПрогресс операции записи состояния, хранящегося в
InnoDB, вызванной установкойinnodb_buffer_pool_dump_at_shutdownилиinnodb_buffer_pool_dump_now.Для получения связанной информации и примеров см. Раздел 14.8.3.6, «Сохранение и восстановление состояния кэша пула буферов».
-
Innodb_buffer_pool_load_statusПрогресс операции по загрузке
InnoDBпутем считывания набора, соответствующего более раннему моменту времени, запущенной установкойinnodb_buffer_pool_load_at_startupилиinnodb_buffer_pool_load_now. Если операция создает слишком большую перегрузку, вы можете отменить её, установивinnodb_buffer_pool_load_abort.Для получения дополнительной информации и примеров см. Раздел 14.8.3.6, “Сохранение и восстановление состояния буферного пула”.
-
Общее количество байт в
InnoDB, содержащих данные. Количество включает как грязные, так и чистые страницы. Для более точных расчетов использования памяти, чем сInnodb_buffer_pool_pages_data, когда таблицы приводят к тому, что буферный пул содержит страницы разных размеров. -
Количество страниц в
InnoDB, содержащих данные. Количество включает как грязные, так и чистые страницы. При использовании , значениеInnodb_buffer_pool_pages_dataможет быть больше, чемInnodb_buffer_pool_pages_total(Ошибка #59550). -
Innodb_buffer_pool_bytes_dirtyТекущее общее количество байт, хранящихся в грязных страницах в
InnoDB. Для более точных расчетов использования памяти, чем сInnodb_buffer_pool_pages_dirty, когда таблицы приводят к тому, что буферный пул содержит страницы разных размеров. -
Innodb_buffer_pool_pages_dirtyТекущее количество грязных страниц в
InnoDB. -
Innodb_buffer_pool_pages_flushedКоличество запросов на очистку страниц из
InnoDB. -
Количество свободных страниц в
InnoDB. -
Innodb_buffer_pool_pages_latchedКоличество заблокированных страниц в
InnoDB. Это страницы, которые в настоящее время читаются или записываются, или которые не могут быть очищены или удалены по какой-либо другой причине. Вычисление этой переменной является дорогостоящим, поэтому она доступна только тогда, когда системаUNIV_DEBUGопределена во время сборки сервера. -
Количество страниц в
InnoDB, которые заняты, потому что они были выделены для административных накладных расходов, таких как или . Это значение также может быть вычислено какInnodb_buffer_pool_pages_total−Innodb_buffer_pool_pages_free−Innodb_buffer_pool_pages_data. При использовании ,Innodb_buffer_pool_pages_miscможет сообщать значение за пределами допустимого диапазона (Ошибка #59550). -
Innodb_buffer_pool_pages_totalОбщий размер
InnoDBв страницах. При использовании , значениеInnodb_buffer_pool_pages_dataможет быть больше, чемInnodb_buffer_pool_pages_total(Ошибка #59550) -
Количество страниц, прочитанных в
InnoDBфоновым потоком . -
Innodb_buffer_pool_read_ahead_evictedКоличество страниц, прочитанных в
InnoDBфоновым потоком , которые впоследствии были удалены, не будучи доступными запросами. -
Innodb_buffer_pool_read_ahead_rndКоличество “случайных” предварительных считываний, инициированных
InnoDB. Это происходит, когда запрос сканирует большую часть таблицы, но в случайном порядке. -
Innodb_buffer_pool_read_requestsКоличество логических запросов на чтение.
-
Количество логических чтений, которые
InnoDBне смог удовлетворить из буферного пула и пришлось читать непосредственно с диска. -
Innodb_buffer_pool_resize_statusСтатус операции по динамическому изменению размера
InnoDB, запущенной динамической установкой параметраinnodb_buffer_pool_size. Параметрinnodb_buffer_pool_sizeявляется динамическим, что позволяет изменять размер буферного пула без перезапуска сервера. См. Настройка размера буферного пула InnoDB онлайн для получения дополнительной информации. -
Обычно запись в
InnoDBпроисходит в фоновом режиме. КогдаInnoDBнеобходимо прочитать или создать страницу и нет доступных чистых страниц,InnoDBсначала очищает некоторые страницы и ожидает завершения этой операции. Этот счетчик подсчитывает количество таких ожиданий. Еслиinnodb_buffer_pool_sizeустановлен правильно, это значение должно быть небольшим. -
Innodb_buffer_pool_write_requestsКоличество записей, выполненных в
InnoDB. -
Количество операций
fsync()до настоящего момента. Частота вызововfsync()зависит от настройки параметра конфигурацииinnodb_flush_method. -
Текущее количество ожидающих операций
fsync(). Частота вызововfsync()зависит от настройки параметра конфигурацииinnodb_flush_method. -
Текущее количество ожидающих операций чтения.
-
Текущее количество ожидающих операций записи.
-
Объем прочитанных данных с момента запуска сервера (в байтах).
-
Общее количество операций чтения данных (чтение файлов ОС).
-
Общее количество операций записи данных.
-
Объем записанных данных до настоящего момента, в байтах.
-
Количество страниц, которые были записаны в . См. Раздел 14.12.1, “Ввод-вывод InnoDB на диск”.
-
Количество операций двойной записи, которые были выполнены. См. Раздел 14.12.1, “Ввод-вывод InnoDB на диск”.
-
Показывает, был ли сервер собран с .
-
Количество раз, когда размер журнала был слишком мал, и требовалось увеличение его размера перед продолжением.
-
Количество запросов на запись для
InnoDB. -
Количество физических записей в файл
InnoDB.
-
Количество файлов, которое в данный момент открыто.
-
Количество операций записи, выполненных в файлы
InnoDB. -
Количество ожидающих операций
fsync()для файловInnoDB. -
Количество ожидающих операций записи в файлы
InnoDB. -
Количество байтов, записанных в файлы
InnoDB. -
Размер страницы
InnoDB(по умолчанию 16 КБ). Многие значения подсчитываются в страницах; размер страницы позволяет легко преобразовать их в байты. -
Количество страниц, созданных операциями с таблицами
InnoDB. -
Количество страниц, прочитанных из кэша буфера
InnoDBоперациями с таблицамиInnoDB. -
Количество страниц, записанных операциями с таблицами
InnoDB. -
Количество ожиданий, в настоящее время ожидающих блокировки строк, операциями с таблицами
InnoDB. -
Общее время, затраченное на получение блокировок строк для таблиц
InnoDB, в миллисекундах. -
Среднее время получения блокировки строк для таблиц
InnoDB, в миллисекундах. -
Максимальное время получения блокировки строк для таблиц
InnoDB, в миллисекундах. -
Количество раз, когда операциям с таблицами
InnoDBприходилось ждать блокировки строк. -
Количество строк, удаленных из таблиц
InnoDB. -
Количество строк, добавленных в таблицы
InnoDB. -
Количество строк, прочитанных из таблиц
InnoDB. -
Приблизительное количество строк, обновленных в таблицах
InnoDB.ПримечаниеЭто значение не гарантирует 100% точности. Для точного (но более дорогостоящего) результата используйте
ROW_COUNT(). -
Innodb_truncated_status_writesКоличество раз, когда вывод из оператора
SHOW ENGINE INNODB STATUSбыл усечён. -
Количество блоков ключей в кэше ключей
MyISAM, которые были изменены, но ещё не были сброшены на диск. -
Количество неиспользуемых блоков в кэше ключей
MyISAM. Это значение можно использовать для определения, какая часть кэша ключей используется; см. обсуждениеkey_buffer_sizeв Разделе 5.1.7, «Server System Variables». -
Количество используемых блоков в кэше ключей
MyISAM. Это значение является максимальным показателем, указывающим максимальное количество блоков, которые когда-либо использовались одновременно. -
Количество запросов на чтение блока ключа из кэша ключей
MyISAM. -
Количество физических чтений блока ключа с диска в кэш ключей
MyISAM. ЕслиKey_readsбольшое, то, вероятно, значениеkey_buffer_sizeслишком мало. Вероятность промаха кэша может быть рассчитана какKey_reads/Key_read_requests. -
Количество запросов на запись блока ключа в кэш ключей
MyISAM. -
Количество физических записей блока ключа из кэша ключей
MyISAMна диск. -
Общая стоимость последнего скомпилированного запроса, вычисленная оптимизатором запросов. Это полезно для сравнения стоимости различных планов запросов для одного и того же запроса. Значение по умолчанию 0 означает, что ещё не было скомпилировано ни одного запроса. Значение по умолчанию равно 0.
Last_query_costимеет область действия сеанса.Last_query_costможет быть вычислено точно только для простых, “плоских” запросов, но не для сложных запросов, таких как запросы с подзапросами илиUNION. Для последних значение устанавливается в 0. -
Количество итераций, выполненных оптимизатором запросов при построении плана выполнения для предыдущего запроса.
Last_query_partial_plansимеет область действия сеанса. -
Количество попыток подключения к заблокированным учётным записям пользователей. Для получения информации о блокировке и разблокировке учётных записей см. Раздел 6.2.15, «Account Locking».
-
Количество операторов
SELECT, для которых истекло время выполнения. -
Количество операторов
SELECT, для которых было установлено ненулевое время ожидания выполнения. Это включает операторы, содержащие ненулевой оптимизационный параметрMAX_EXECUTION_TIME, и операторы, не содержащие такой параметр, но выполняемые, в то время как установленное переменнойmax_execution_timeвремя ожидания не равно нулю. -
Количество операторов
SELECT, для которых попытка установить время ожидания выполнения не удалась. -
Максимальное количество подключений, используемых одновременно с момента запуска сервера.
-
Время, когда
Max_used_connectionsдостигло своего текущего значения. -
Эта переменная состояния устарела (потому что
DELAYEDвставки не поддерживаются); ожидается, что она будет удалена в будущих выпусках. -
Набор символов, в настоящее время используемый плагином MeCab для полнотекстового поиска. Для получения дополнительной информации см. Раздел 12.9.9, «MeCab Full-Text Parser Plugin».
-
Ongoing_anonymous_transaction_countПоказывает количество незавершенных транзакций, помеченных как анонимные. Это может быть использовано для того, чтобы убедиться, что никакие дальнейшие транзакции не ожидают обработки.
-
Ongoing_anonymous_gtid_violating_transaction_countЭта переменная состояния доступна только в отладочных сборках. Показывает количество незавершенных транзакций, которые используют
gtid_next=ANONYMOUSи нарушают согласованность GTID. -
Ongoing_automatic_gtid_violating_transaction_countЭта переменная состояния доступна только в отладочных сборках. Показывает количество незавершенных транзакций, которые используют
gtid_next=AUTOMATICи нарушают согласованность GTID. -
Количество открытых файлов. Этот подсчет включает обычные файлы, открытые сервером. Он не включает другие типы файлов, такие как сокеты или каналы. Кроме того, подсчет не включает файлы, которые механизмы хранения открывают, используя свои собственные внутренние функции, а не обращаясь к серверному уровню для этого.
-
Количество открытых потоков (используется в основном для ведения журнала).
-
Количество кэшированных файлов
.frm. -
Количество открытых таблиц.
-
Количество файлов, которые были открыты с помощью
my_open()(функция библиотекиmysys). Части сервера, которые открывают файлы без использования этой функции, не увеличивают счетчик. -
Количество файлов
.frm, которые были кэшированы. -
Количество открытых таблиц. Если значение
Opened_tablesвелико, то значение вашей переменнойtable_open_cacheвероятно слишком мало. -
Performance_schema_xxxПеременные состояния Performance Schema перечислены в Разделе 25.16, «Переменные состояния Performance Schema». Эти переменные предоставляют информацию об инструментах, которые не смогли быть загружены или созданы из-за ограничений памяти.
-
Текущее количество подготовленных запросов. (Максимальное количество запросов задается системной переменной
max_prepared_stmt_count.) -
Количество свободных блоков памяти в кэше запросов.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_free_blocks. -
Объем свободной памяти для кэша запросов.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_free_memory. -
Количество попаданий в кэш запросов.
Обсуждение в начале этого раздела показывает, как соотнести эту переменную состояния подсчета операторов с другими подобными переменными.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_hits. -
Количество запросов, добавленных в кэш запросов.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_inserts. -
Количество запросов, которые были удалены из кэша запросов из-за нехватки памяти.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_lowmem_prunes. -
Количество некэшированных запросов (не кэшируемых или не кэшированных из-за настройки
query_cache_type).ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_not_cached. -
Количество запросов, зарегистрированных в кэше запросов.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_queries_in_cache. -
Общее количество блоков в кэше запросов.
ПримечаниеКэш запросов устарел начиная с MySQL 5.7.20 и удален в MySQL 8.0. Устаревание включает
Qcache_total_blocks. -
Количество операторов, выполненных сервером. Эта переменная включает операторы, выполненные внутри хранимых программ, в отличие от переменной
Questions. Она не учитывает командыCOM_PINGилиCOM_STATISTICS.Обсуждение в начале этого раздела показывает, как соотнести эту переменную состояния подсчета операторов с другими подобными переменными.
-
Количество операторов, выполненных сервером. Это включает только операторы, отправленные на сервер клиентами, а не операторы, выполненные внутри хранимых программ, в отличие от переменной
Queries. Эта переменная не учитывает командыCOM_PING,COM_STATISTICS,COM_STMT_PREPARE,COM_STMT_CLOSEилиCOM_STMT_RESET.Обсуждение в начале этого раздела показывает, как соотнести эту переменную состояния подсчета операторов с другими подобными переменными.
-
Количество полусинхронных реплик.
Эта переменная доступна только при установке плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_net_avg_wait_timeСреднее время в микросекундах, которое источник ожидал ответа от реплики. Эта переменная устарела, всегда
0; ожидается ее удаление в будущей версии.Эта переменная доступна только при установке плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_net_wait_timeОбщее время в микросекундах, которое источник ожидал ответов от реплик. Эта переменная устарела и всегда
0; ожидается ее удаление в будущей версии.Эта переменная доступна только при установке плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_net_waitsОбщее количество раз, когда источник ожидал ответов от реплик.
Эта переменная доступна только при установке плагина полусинхронной репликации на стороне источника.
-
Количество раз, когда источник отключал полусинхронную репликацию.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Количество подтверждений, которые не были успешно подтверждены репликой.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Работает ли полусинхронная репликация на источнике в данный момент. Значение равно
ON, если плагин был включен и произошло подтверждение фиксации. Оно равноOFF, если плагин не включен или источник перешел на асинхронную репликацию из-за истечения времени ожидания подтверждения фиксации.Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_timefunc_failuresКоличество раз, когда источник завершился неудачей при вызове временных функций, таких как
gettimeofday().Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_tx_avg_wait_timeСреднее время в микросекундах, которое источник ожидал каждой транзакции.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_tx_wait_timeОбщее время в микросекундах, которое источник ожидал транзакций.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Общее количество раз, когда источник ожидал транзакций.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_wait_pos_backtraverseОбщее количество раз, когда источник ожидал события с бинарными координатами ниже, чем события, которые ожидали ранее. Это может произойти, когда порядок, в котором транзакции начинают ожидать ответа, отличается от порядка, в котором их бинарные события журнала записываются.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Rpl_semi_sync_master_wait_sessionsКоличество сеансов, в настоящее время ожидающих ответов реплики.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Количество подтверждений, которые были успешно подтверждены репликой.
Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне источника.
-
Работает ли полусинхронная репликация в данный момент на реплике. Это
ON, если плагин был включен и поток ввода-вывода реплики работает,OFFв противном случае.Эта переменная доступна только в случае установки плагина полусинхронной репликации на стороне реплики.
-
Эта переменная доступна, если MySQL был скомпилирован с использованием OpenSSL (см. Раздел 6.3.4, «Возможности, зависящие от библиотеки SSL»). Ее значение — открытый ключ, используемый плагином аутентификации
sha256_passwordдля обмена паролями на основе пары ключей RSA. Значение непустое только в том случае, если сервер успешно инициализирует закрытые и открытые ключи в файлах, указанных системными переменнымиsha256_password_private_key_pathиsha256_password_public_key_path. ЗначениеRsa_public_keyберется из последнего файла.Для получения информации о
sha256_passwordсм. Раздел 6.4.1.5, «Аутентификация плагинов SHA-256». -
Количество соединений, которые выполняют полное сканирование таблиц, потому что они не используют индексы. Если это значение не равно 0, следует внимательно проверить индексы ваших таблиц.
-
Количество соединений, которые использовали поиск по диапазону в таблице ссылок.
-
Количество соединений, которые использовали диапазоны в первой таблице. Это обычно не является критической проблемой, даже если значение довольно большое.
-
Количество соединений без ключей, которые проверяют использование ключей после каждой строки. Если это не 0, следует внимательно проверить индексы ваших таблиц.
-
Количество соединений, которые выполнили полное сканирование первой таблицы.
-
Показывает интервал времени между сигналами «сердцебиения» репликации (в секундах) на реплике репликации.
Эта переменная зависит от значения системной переменной
show_compatibility_56. Подробнее см. Влияние show_compatibility_56 на переменные состояния Slave.ПримечаниеЭта переменная показывает только состояние канала репликации по умолчанию. Для мониторинга любого канала репликации используйте столбец
HEARTBEAT_INTERVALв таблицеreplication_connection_configurationдля канала репликации.Slave_heartbeat_periodустарела и удалена в MySQL 8.0. -
Показывает, когда был получен последний сигнал «сердцебиения» репликой, как значение
TIMESTAMP.Эта переменная зависит от значения системной переменной
show_compatibility_56. Подробнее см. Влияние show_compatibility_56 на переменные состояния Slave.ПримечаниеЭта переменная показывает только состояние канала репликации по умолчанию. Для мониторинга любого канала репликации используйте столбец
LAST_HEARTBEAT_TIMESTAMPв таблицеreplication_connection_statusдля канала репликации.Slave_last_heartbeatустарела и удалена в MySQL 8.0. -
Количество временных таблиц, которые поток SQL реплики в данный момент имеет открытыми. Если значение больше нуля, выключение реплики небезопасно; см. Раздел 16.4.1.29, «Репликация и временные таблицы». Эта переменная сообщает общее количество открытых временных таблиц для всех каналов репликации.
-
Этот счетчик увеличивается с каждым полученным сигналом «сердцебиения» репликации репликой репликации с момента последнего перезапуска или сброса реплики или выдачи инструкции
CHANGE MASTER TO.Эта переменная зависит от значения системной переменной
show_compatibility_56. Подробнее см. Влияние show_compatibility_56 на переменные состояния Slave.ПримечаниеЭта переменная показывает только состояние канала репликации по умолчанию. Для мониторинга любого канала репликации используйте столбец
COUNT_RECEIVED_HEARTBEATSв таблицеreplication_connection_statusдля канала репликации.Slave_received_heartbeatsустарела и удалена в MySQL 8.0.
-
Общее количество попыток повтора транзакций потоком репликации SQL реплики с момента запуска.
Эта переменная зависит от значения системной переменной
show_compatibility_56. Подробнее см. Влияние show_compatibility_56 на переменные состояния Slave.ПримечаниеЭта переменная показывает только состояние канала репликации по умолчанию. Для мониторинга любого канала репликации используйте столбец
COUNT_TRANSACTIONS_RETRIESв таблицеreplication_applier_statusдля канала репликации.Slave_retried_transactionsустарела и удалена в MySQL 8.0. -
Slave_rows_last_search_algorithm_usedАлгоритм поиска, который был последним использован этой репликой для поиска строк для репликации на основе строк. Результат показывает, использовала ли реплика индексы, полное сканирование таблицы или хеширование в качестве алгоритма поиска для последней выполненной транзакции на любом канале.
Используемый метод зависит от настройки системной переменной
slave_rows_search_algorithmsи ключей, доступных в соответствующей таблице.Эта переменная доступна только для отладочных сборок MySQL.
-
Это
ON, если этот сервер является репликой, подключенной к источнику репликации, и оба потока I/O и SQL работают; в противном случае, этоOFF.Эта переменная зависит от значения системной переменной
show_compatibility_56. Подробнее см. Влияние show_compatibility_56 на переменные состояния Slave.ПримечаниеЭта переменная показывает только состояние канала репликации по умолчанию. Для мониторинга любого канала репликации используйте столбец
SERVICE_STATEв таблицахreplication_applier_statusилиreplication_connection_statusканала репликации.Slave_runningустарела и удалена в MySQL 8.0. -
Количество потоков, создание которых заняло более
slow_launch_timeсекунд.Эта переменная не имеет смысла во встроенном сервере (
libmysqld) и, начиная с MySQL 5.7.2, больше не отображается во встроенном сервере. -
Количество запросов, выполнение которых заняло более
long_query_timeсекунд. Этот счетчик увеличивается независимо от того, включен ли лог медленных запросов. Информацию об этом журнале см. в Разделе 5.4.5, «Журнал медленных запросов». -
Количество проходов слияния, которые пришлось выполнить алгоритму сортировки. Если это значение велико, следует рассмотреть возможность увеличения значения системной переменной
sort_buffer_size. -
Количество сортировок, выполненных с использованием диапазонов.
-
Количество отсортированных строк.
-
Количество сортировок, выполненных путем сканирования таблицы.
-
Количество согласований, необходимых для установления соединения.
-
Количество принятых SSL-соединений.
-
Количество попаданий в кэш обратных вызовов.
-
Текущий шифр шифрования (пусто для незашифрованных соединений).
-
Список возможных SSL-шифров (пусто для не-SSL соединений).
-
Количество попыток SSL-соединения с источником с поддержкой SSL.
-
Количество согласований, необходимых для установления соединения с источником с поддержкой SSL.
-
Глубина проверки контекста SSL (сколько сертификатов в цепочке проверяется).
-
Режим проверки контекста SSL.
-
Время ожидания SSL по умолчанию.
-
Количество успешных SSL-соединений с сервером.
-
Количество успешных соединений реплики с источником с поддержкой SSL.
-
Последняя дата, для которой действителен SSL-сертификат. Для проверки информации об истечении срока действия SSL-сертификата используйте это утверждение:
mysql>
SHOW STATUS LIKE 'Ssl_server_not%';+-----------------------+--------------------------+ | Variable_name | Value | +-----------------------+--------------------------+ | Ssl_server_not_after | Apr 28 14:16:39 2025 GMT | | Ssl_server_not_before | May 1 14:16:39 2015 GMT | +-----------------------+--------------------------+ -
Первая дата, для которой действителен SSL-сертификат.
-
Количество попаданий в кэш сеансов SSL.
-
Количество промахов в кэш сеансов SSL.
-
Режим кэша сеансов SSL.
-
Количество переполнений кэша сеансов SSL.
-
Размер кэша сеансов SSL.
-
Количество тайм-аутов кэша сеансов SSL.
-
Равно 0, если TLS не использовался в текущем сеансе MySQL или если сеанс TLS не был повторно использован; в противном случае равно 1.
Ssl_sessions_reusedимеет область действия сеанса. -
Ssl_used_session_cache_entriesСколько записей кэша сеансов SSL было использовано.
-
Глубина проверки для SSL-соединений репликации.
-
Режим проверки, используемый сервером для соединения, использующего SSL. Значение представляет собой битовую маску; биты определены в заголовочном файле
openssl/ssl.h:# define SSL_VERIFY_NONE 0x00 # define SSL_VERIFY_PEER 0x01 # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 # define SSL_VERIFY_CLIENT_ONCE 0x04
SSL_VERIFY_PEERуказывает, что сервер запрашивает сертификат клиента. Если клиент предоставляет его, сервер выполняет проверку и продолжает только в случае успешной проверки.SSL_VERIFY_CLIENT_ONCEуказывает, что запрос сертификата клиента выполняется только в начальном рукопожатии. -
Версия протокола SSL соединения (например, TLSv1). Если соединение не зашифровано, значение пустое.
-
Количество случаев, когда запрос на блокировку таблицы мог быть предоставлен немедленно.
-
Количество раз, когда запрос на блокировку таблицы не был удовлетворен немедленно и потребовалось ожидание. Если это значение высокое, а у вас проблемы с производительностью, необходимо в первую очередь оптимизировать запросы, а затем разделить таблицу или таблицы или использовать репликацию.
-
Количество попаданий в кэш открытых таблиц.
-
Количество промахов при поиске в кэше открытых таблиц.
-
Количество переполнений кэша открытых таблиц. Это количество раз, когда после открытия или закрытия таблицы экземпляр кэша содержит неиспользуемую запись, а размер экземпляра больше, чем
table_open_cache/table_open_cache_instances. -
Для реализации журнала в оперативной памяти, используемой mysqld при выполнении функции координатора транзакций для восстановления внутренних XA-транзакций, эта переменная указывает максимальное количество страниц, используемых для журнала с момента запуска сервера. Если произведение
Tc_log_max_pages_usedиTc_log_page_sizeвсегда значительно меньше размера журнала, размер журнала больше, чем необходимо, и его можно уменьшить. (Размер устанавливается параметром--log-tc-size. Эта переменная не используется: она не нужна для восстановления на основе двоичного журнала, и метод восстановления журнала в оперативной памяти не используется, если количество систем управления базами данных, способных к двум фазам подтверждения и поддерживающих XA-транзакции, больше одного. (InnoDB— единственный применимая система управления базами данных.) -
Размер страницы, используемый для реализации журнала восстановления XA в оперативной памяти. Значение по умолчанию определяется с помощью
getpagesize(). Эта переменная не используется по тем же причинам, что и описано дляTc_log_max_pages_used. -
Для реализации журнала восстановления в оперативной памяти эта переменная увеличивается каждый раз, когда сервер не смог подтвердить транзакцию и был вынужден ждать свободной страницы в журнале. Если это значение велико, возможно, следует увеличить размер журнала (с помощью параметра
--log-tc-size). Для восстановления на основе двоичного журнала эта переменная увеличивается каждый раз, когда двоичный журнал нельзя закрыть из-за наличия транзакций с двухфазным подтверждением. (Операция закрытия ожидает завершения всех таких транзакций.) -
Количество потоков в кэше потоков.
Эта переменная не имеет смысла в сервере встроенного типа (
libmysqld) и начиная с MySQL 5.7.2 больше не отображается в сервере встроенного типа. -
Количество открытых подключений в данный момент.
-
Количество созданных потоков для обработки подключений. Если
Threads_createdбольшое, возможно, следует увеличить значениеthread_cache_size. Статистику промахов кэша можно рассчитать какThreads_created/Connections. -
Количество потоков, которые не находятся в ожидании.
-
Количество секунд, в течение которых сервер работает.
-
Количество секунд, прошедших с момента последнего выполнения оператора
FLUSH STATUS.
© 2025 Oracle
Licensed under the GPLv2 License.