15.7.7.17 Заявление 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 Monitors».
SHOW ENGINE INNODB MUTEX отображает InnoDB и статистику.
Статистику о мьютексах и rw-записях также можно отслеживать с помощью таблиц Performance Schema. Смотрите Раздел 17.16.2, «Отслеживание ожиданий InnoDB Mutex с помощью 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отображает только имя мьютекса. Для rw-записей полеNameотображает имя файла источника, в котором реализована rw-запись, и номер строки в файле, где rw-запись создана. Номер строки зависит от вашей версии 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
...
Это утверждение предназначено для того, чтобы DBA понимали влияние различных параметров 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 Schema в целомperformance_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.