server_operations
表包含当前 SQL 节点(MySQL 服务器)当前参与的所有正在进行的 NDB
操作的条目。它实际上是 cluster_operations
表的一个子集,其中不显示其他 SQL 和 API 节点的操作。
server_operations
表包含以下列
mysql_connection_id
MySQL 服务器连接 ID
node_id
节点 ID
block_instance
块实例
transid
事务 ID
operation_type
操作类型(可能的值请参见正文)
state
操作状态(可能的值请参见正文)
tableid
表 ID
fragmentid
片段 ID
client_node_id
客户端节点 ID
client_block_ref
客户端块引用
tc_node_id
事务协调器节点 ID
tc_block_no
事务协调器块号
tc_block_instance
事务协调器块实例
备注
mysql_connection_id
与 SHOW PROCESSLIST
输出中显示的连接或会话 ID 相同。它从 INFORMATION_SCHEMA
表 NDB_TRANSID_MYSQL_CONNECTION_MAP
中获取。
block_instance
指的是内核块的实例。该编号与块名称一起,可用于在 threadblocks
表中查找给定实例。
事务 ID (transid
) 是一个唯一的 64 位数字,可以使用 NDB API 的 getTransactionId()
方法获取。(目前,MySQL 服务器不公开正在进行的事务的 NDB API 事务 ID。)
operation_type
列可以采用以下任意值:READ
、READ-SH
、READ-EX
、INSERT
、UPDATE
、DELETE
、WRITE
、UNLOCK
、REFRESH
、SCAN
、SCAN-SH
、SCAN-EX
或 <unknown>
。
state
列可以具有以下任意值:ABORT_QUEUED
、ABORT_STOPPED
、COMMITTED
、COMMIT_QUEUED
、COMMIT_STOPPED
、COPY_CLOSE_STOPPED
、COPY_FIRST_STOPPED
、COPY_STOPPED
、COPY_TUPKEY
、IDLE
、LOG_ABORT_QUEUED
、LOG_COMMIT_QUEUED
、LOG_COMMIT_QUEUED_WAIT_SIGNAL
、LOG_COMMIT_WRITTEN
、LOG_COMMIT_WRITTEN_WAIT_SIGNAL
、LOG_QUEUED
、PREPARED
、PREPARED_RECEIVED_COMMIT
、SCAN_CHECK_STOPPED
、SCAN_CLOSE_STOPPED
、SCAN_FIRST_STOPPED
、SCAN_RELEASE_STOPPED
、SCAN_STATE_USED
、SCAN_STOPPED
、SCAN_TUPKEY
、STOPPED
、TC_NOT_CONNECTED
、WAIT_ACC
、WAIT_ACC_ABORT
、WAIT_AI_AFTER_ABORT
、WAIT_ATTR
、WAIT_SCAN_AI
、WAIT_TUP
、WAIT_TUPKEYINFO
、WAIT_TUP_COMMIT
或 WAIT_TUP_TO_ABORT
。(如果 MySQL 服务器在启用 ndbinfo_show_hidden
的情况下运行,则可以通过从通常隐藏的 ndb$dblqh_tcconnect_state
表中进行选择来查看此状态列表。)
您可以通过查看 ndb_show_tables 的输出,从其表 ID 中获取 NDB
表的名称。
fragid
与 ndb_desc --extra-partition-info
(简写形式 -p
)输出中显示的分区号相同。
在 client_node_id
和 client_block_ref
中,“客户端”指的是 NDB 集群 API 或 SQL 节点(即,NDB API 客户端或连接到集群的 MySQL 服务器)。
block_instance
和 tc_block_instance
列提供 NDB 内核块实例编号。您可以使用这些信息从 threadblocks
表中获取有关特定线程的信息。