Spec-Zone.ru › MySQL 9.2

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.memory является произведением size и 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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/show-engine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API