15.7.7.16 Вывод информации о движке SHOW ENGINE
SHOW ENGINE engine_name {STATUS | MUTEX}
SHOW ENGINE отображает операционную информацию о движке хранения. Для него требуется привилегия PROCESS. У этого оператора есть такие варианты:
SHOW ENGINE INNODB STATUS
SHOW ENGINE INNODB MUTEX
SHOW ENGINE PERFORMANCE_SCHEMA STATUS
SHOW ENGINE INNODB STATUS отображает подробную информацию от стандартного монитора InnoDB о состоянии движка хранения InnoDB. Информацию о стандартном мониторе и других мониторах InnoDB, предоставляющих информацию о процессах обработки InnoDB, см. в Разделе 17.17, «Мониторы InnoDB».
SHOW ENGINE INNODB MUTEX отображает InnoDB и статистику.
Также можно отслеживать состояние мьютексов и rwlocks с помощью таблиц Performance Schema. См. Раздел 17.16.2, «Отслеживание ожиданий мьютексов InnoDB с помощью Performance Schema».
Сбор статистики мьютексов настраивается динамически с помощью следующих опций:
-
Чтобы включить сбор статистики мьютексов, выполните:
SET GLOBAL innodb_monitor_enable='latch';
-
Чтобы сбросить статистику мьютексов, выполните:
SET GLOBAL innodb_monitor_reset='latch';
-
Чтобы отключить сбор статистики мьютексов, выполните:
SET GLOBAL innodb_monitor_disable='latch';
Сбор статистики мьютексов для SHOW ENGINE INNODB
MUTEX также можно включить, установив innodb_monitor_enable='all', или отключить, установив innodb_monitor_disable='all'.
Вывод SHOW ENGINE INNODB MUTEX содержит следующие столбцы:
-
TypeВсегда
InnoDB. -
NameДля мьютексов поле
Nameсодержит только имя мьютекса. Для rwlocks полеNameсодержит имя файла, где реализован rwlock, и номер строки в файле, где rwlock был создан. Номер строки специфичен для вашей версии MySQL. -
StatusСтатус мьютекса. Это поле показывает количество вращений, ожиданий и вызовов. Статистика для мьютексов операционной системы низкого уровня, реализованных вне
InnoDB, не отображается.spinsуказывает количество вращений.waitsуказывает количество ожиданий мьютекса.callsуказывает, сколько раз мьютекс запрашивался.
SHOW ENGINE INNODB MUTEX не отображает мьютексы и rw-блоки для каждого блока буфера пула, так как объем вывода был бы чрезмерным на системах с большим пулом буферов. SHOW ENGINE INNODB MUTEX, однако, печатает агрегированные значения BUF_BLOCK_MUTEX вращений, ожиданий и вызовов для мьютексов и rw-блоков блока буфера пула. SHOW ENGINE INNODB MUTEX также не отображает мьютексы или rw-блоки, на которых никогда не ожидалось (os_waits=0). Таким образом, SHOW ENGINE
INNODB MUTEX отображает информацию только о мьютексах и rw-блоках за пределами пула буферов, которые вызвали по крайней мере одно ожидающее состояние на уровне операционной системы.
Используйте SHOW ENGINE PERFORMANCE_SCHEMA STATUS для проверки внутренней работы кода Performance Schema:
mysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\G
...
*************************** 3. row ***************************
Type: performance_schema
Name: events_waits_history.size
Status: 76
*************************** 4. row ***************************
Type: performance_schema
Name: events_waits_history.count
Status: 10000
*************************** 5. row ***************************
Type: performance_schema
Name: events_waits_history.memory
Status: 760000
...
*************************** 57. row ***************************
Type: performance_schema
Name: performance_schema.memory
Status: 26459600
...
Этот оператор предназначен для того, чтобы помочь администратору баз данных понять, какое влияние оказывают различные параметры Performance Schema на потребление памяти.
Name значения состоят из двух частей, которые соответственно называют внутренний буфер и атрибут буфера. Интерпретируйте имена буферов следующим образом:
Внутренний буфер, который не представлен как таблица, имеет имя в скобках. Примеры:
(pfs_cond_class).size,(pfs_mutex_class).memory.Внутренний буфер, который представлен как таблица в базе данных
performance_schema, имеет имя, соответствующее имени таблицы, без скобок. Примеры:events_waits_history.size,mutex_instances.count.Значение, относящееся ко всему Performance Schema, начинается с
performance_schema. Пример:performance_schema.memory.
Атрибуты буфера имеют следующие значения:
size— размер внутреннего записей, используемых реализацией, например, размер строки в таблице. Значенияsizeне могут быть изменены.count— количество внутренних записей, например, количество строк в таблице. Значенияcountможно изменить с помощью параметров конфигурации Performance Schema.Для таблицы
— произведениеtbl_name.memorysizeиcount. Для всего Performance Schemaperformance_schema.memory— сумма всей используемой памяти (сумма всех остальных значенийmemory).
В некоторых случаях существует прямая взаимосвязь между параметром конфигурации Performance Schema и значением SHOW
ENGINE. Например, events_waits_history_long.count соответствует performance_schema_events_waits_history_long_size. В других случаях взаимосвязь более сложная. Например, events_waits_history.count соответствует performance_schema_events_waits_history_size (количество строк на поток) умноженному на performance_schema_max_thread_instances (количество потоков).
SHOW ENGINE NDB STATUS. Если на сервере включен движок хранения NDB, SHOW ENGINE NDB STATUS отображает информацию о состоянии кластера, например, количество подключенных узлов данных, строку подключения к кластеру и эпохи двоичного журнала кластера, а также количество различных объектов API кластера, созданных сервером MySQL при подключении к кластеру. Пример вывода этого оператора показан здесь:
mysql> SHOW ENGINE NDB STATUS;
+------------+-----------------------+--------------------------------------------------+
| Type | Name | Status |
+------------+-----------------------+--------------------------------------------------+
| ndbcluster | connection | cluster_node_id=7,
connected_host=198.51.100.103, connected_port=1186, number_of_data_nodes=4,
number_of_ready_data_nodes=3, connect_count=0 |
| ndbcluster | NdbTransaction | created=6, free=0, sizeof=212 |
| ndbcluster | NdbOperation | created=8, free=8, sizeof=660 |
| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744 |
| ndbcluster | NdbIndexOperation | created=0, free=0, sizeof=664 |
| ndbcluster | NdbRecAttr | created=1285, free=1285, sizeof=60 |
| ndbcluster | NdbApiSignal | created=16, free=16, sizeof=136 |
| ndbcluster | NdbLabel | created=0, free=0, sizeof=196 |
| ndbcluster | NdbBranch | created=0, free=0, sizeof=24 |
| ndbcluster | NdbSubroutine | created=0, free=0, sizeof=68 |
| ndbcluster | NdbCall | created=0, free=0, sizeof=16 |
| ndbcluster | NdbBlob | created=1, free=1, sizeof=264 |
| ndbcluster | NdbReceiver | created=4, free=0, sizeof=68 |
| ndbcluster | binlog | latest_epoch=155467, latest_trans_epoch=148126,
latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,
latest_applied_binlog_epoch=0 |
+------------+-----------------------+--------------------------------------------------+
Столбец Status в каждой из этих строк соответственно предоставляет информацию о подключении сервера MySQL к кластеру и о статусе двоичного журнала кластера. Информация Status представлена в виде набора пар имя-значение, разделенных запятыми.
Столбец Status строки connection содержит пары имя-значение, описанные в следующей таблице.
| Имя | Значение |
|---|---|
cluster_node_id | Идентификатор узла сервера MySQL в кластере |
connected_host | Имя хоста или IP-адрес сервера управления кластером, к которому подключен сервер MySQL |
connected_port | Порт, используемый сервером MySQL для подключения к серверу управления (connected_host) |
number_of_data_nodes | Количество узлов данных, настроенных для кластера (то есть количество разделов [ndbd] в файле конфигурации кластера config.ini) |
number_of_ready_data_nodes | Количество узлов данных в кластере, которые фактически работают |
connect_count | Количество раз, когда этот mysqld подключался или повторно подключался к узлам данных кластера |
Столбец Status строки binlog содержит информацию, относящуюся к репликации NDB Cluster. Пары имя-значение, которые он содержит, описаны в следующей таблице.
| Имя | Значение |
|---|---|
latest_epoch | Последняя эпоха, которая была запущена на данном сервере MySQL (то есть номер последовательности последней транзакции, выполненной на сервере) |
latest_trans_epoch | Последняя эпоха, обработанная узлами данных кластера |
latest_received_binlog_epoch | Последняя эпоха, полученная потоком двоичного журнала |
latest_handled_binlog_epoch | Последняя эпоха, обработанная потоком двоичного журнала (для записи в двоичный журнал) |
latest_applied_binlog_epoch | Последняя эпоха, фактически записанная в двоичный журнал |
Подробнее см. в Разделе 25.7, «Репликация NDB Cluster».
Остальные строки из вывода SHOW ENGINE NDB
STATUS, которые, скорее всего, будут полезны при мониторинге кластера, перечислены здесь по Name:
NdbTransaction: Количество и размер объектовNdbTransaction, которые были созданы. ОбъектNdbTransactionсоздается каждый раз, когда выполняется операция со схемой таблицы (например,CREATE TABLEилиALTER TABLE) над таблицейNDB.NdbOperation: Количество и размер объектовNdbOperation, которые были созданы.NdbIndexScanOperation: Количество и размер объектовNdbIndexScanOperation, которые были созданы.NdbIndexOperation: Количество и размер объектовNdbIndexOperation, которые были созданы.NdbRecAttr: Количество и размер объектовNdbRecAttr, которые были созданы. Как правило, один из них создается каждый раз, когда узлом SQL выполняется операция манипулирования данными.NdbBlob: Количество и размер объектовNdbBlob, которые были созданы. ОбъектNdbBlobсоздается для каждой новой операции, связанной со столбцомBLOBв таблицеNDB.NdbReceiver: Количество и размер любого объектаNdbReceiver, который был создан. Число в столбцеcreatedсоответствует количеству узлов данных в кластере, к которому подключен сервер MySQL.
SHOW ENGINE NDB STATUS возвращает пустой результат, если во время текущей сессии MySQL-клиентом, обратившимся к узлу SQL, на котором выполняется данное оператор, не было выполнено операций, связанных с таблицами NDB.
© 2025 Oracle
Licensed under the GPLv2 License.