Spec-Zone.ru › MySQL 8.4

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.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-8.4-en/show-engine.html

Spec-Zone.ru

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