Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  ndbinfo: The NDB Cluster Information Database

25.6.17 NDB 集群信息数据库:ndbinfo

25.6.17.1 NDB 信息表:arbitrator_validity_detail 表
25.6.17.2 NDB 信息表:arbitrator_validity_summary 表
25.6.17.3 NDB 信息表:backup_id 表
25.6.17.4 NDB 信息表:blobs 表
25.6.17.5 NDB 信息表:blocks 表
25.6.17.6 NDB 信息表:certificates 表
25.6.17.7 NDB 信息表:cluster_locks 表
25.6.17.8 NDB 信息表:cluster_operations 表
25.6.17.9 NDB 信息表:cluster_transactions 表
25.6.17.10 NDB 信息表:config_nodes 表
25.6.17.11 NDB 信息表:config_params 表
25.6.17.12 NDB 信息表:config_values 表
25.6.17.13 NDB 信息表:counters 表
25.6.17.14 NDB 信息表:cpudata 表
25.6.17.15 NDBInfo cpudata_1sec 表
25.6.17.16 NDBInfo cpudata_20sec 表
25.6.17.17 NDBInfo cpudata_50ms 表
25.6.17.18 NDBInfo cpuinfo 表
25.6.17.19 NDBInfo cpustat 表
25.6.17.20 NDBInfo cpustat_50ms 表
25.6.17.21 NDBInfo cpustat_1sec 表
25.6.17.22 NDBInfo cpustat_20sec 表
25.6.17.23 NDBInfo dictionary_columns 表
25.6.17.24 NDBInfo dictionary_tables 表
25.6.17.25 NDBInfo dict_obj_info 表
25.6.17.26 NDBInfo dict_obj_tree 表
25.6.17.27 NDBInfo dict_obj_types 表
25.6.17.28 NDBInfo disk_write_speed_base 表
25.6.17.29 NDBINFO disk_write_speed_aggregate 表
25.6.17.30 NDBINFO disk_write_speed_aggregate_node 表
25.6.17.31 NDBINFO diskpagebuffer 表
25.6.17.32 NDBINFO diskstat 表
25.6.17.33 NDBINFO diskstats_1sec 表
25.6.17.34 NDBINFO error_messages 表
25.6.17.35 NDBINFO events 表
25.6.17.36 NDBINFO files 表
25.6.17.37 NDBINFO foreign_keys 表
25.6.17.38 NDBINFO hash_maps 表
25.6.17.39 NDBINFO hwinfo 表
25.6.17.40 NDBINFO index_columns 表
25.6.17.41 NDBINFO index_stats 表
25.6.17.42 NDBINFO locks_per_fragment 表
25.6.17.43 NDB 信息日志缓冲表
25.6.17.44 NDB 信息日志空间表
25.6.17.45 NDB 信息成员表
25.6.17.46 NDB 信息内存使用表
25.6.17.47 NDB 信息每个碎片的内存使用表
25.6.17.48 NDB 信息节点表
25.6.17.49 NDB 信息每个碎片的操作表
25.6.17.50 NDB 信息PGMAN时间跟踪统计表
25.6.17.51 NDB 信息进程表
25.6.17.52 NDB 信息资源表
25.6.17.53 NDB 信息重启信息表
25.6.17.54 NDB 信息服务器锁定表
25.6.17.55 NDB 信息服务器操作表
25.6.17.56 NDB 信息服务器事务表
25.6.17.57 NDBInfo 表:distribution_status 表
25.6.17.58 NDBInfo 表:table_fragments 表
25.6.17.59 NDBInfo 表:table_info 表
25.6.17.60 NDBInfo 表:table_replicas 表
25.6.17.61 NDBInfo 表:tc_time_track_stats 表
25.6.17.62 NDBInfo 表:threadblocks 表
25.6.17.63 NDBInfo 表:threads 表
25.6.17.64 NDBInfo 表:threadstat 表
25.6.17.65 NDBInfo 表:transporter_details 表
25.6.17.66 NDBInfo 表:transporters 表

ndbinfo 是一个包含 NDB 集群特定信息的数据库。

这个数据库中包含了多个表,每个表提供了不同类型的数据关于 NDB 集群节点状态、资源使用情况和操作。您可以在下一几个节中找到每个这些表的详细信息。

ndbinfo 是 MySQL 服务器的一部分,NDB 集群支持;不需要特殊编译或配置步骤;MySQL 服务器连接到集群时将创建这些表。您可以使用 SHOW PLUGINS 来验证 ndbinfo 支持是否已启用;如果 ndbinfo 支持已启用,您应该在 Name 列中看到 ndbinfo 和在 Status 列中看到 ACTIVE,如下所示(强调文本):

mysql> SHOW PLUGINS;
+----------------------------------+--------+--------------------+---------+---------+
| Name                             | Status | Type               | Library | License |
+----------------------------------+--------+--------------------+---------+---------+
| binlog                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| sha256_password                  | ACTIVE | AUTHENTICATION     | NULL    | GPL     |
| caching_sha2_password            | ACTIVE | AUTHENTICATION     | NULL    | GPL     |
| sha2_cache_cleaner               | ACTIVE | AUDIT              | NULL    | GPL     |
| daemon_keyring_proxy_plugin      | ACTIVE | DAEMON             | NULL    | GPL     |
| CSV                              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MEMORY                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| InnoDB                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| INNODB_TRX                       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP                       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_RESET                 | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM                    | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM_RESET              | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_PER_INDEX             | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_PER_INDEX_RESET       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_PAGE               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_PAGE_LRU           | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_POOL_STATS         | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TEMP_TABLE_INFO           | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_METRICS                   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_DEFAULT_STOPWORD       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_DELETED                | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_BEING_DELETED          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_CONFIG                 | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_INDEX_CACHE            | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_INDEX_TABLE            | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLES                    | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLESTATS                | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_INDEXES                   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLESPACES               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_COLUMNS                   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_VIRTUAL                   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CACHED_INDEXES            | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SESSION_TEMP_TABLESPACES  | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| MyISAM                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MRG_MYISAM                       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| PERFORMANCE_SCHEMA               | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| TempTable                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ARCHIVE                          | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| BLACKHOLE                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ndbcluster                       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ndbinfo                          | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ndb_transid_mysql_connection_map | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| ngram                            | ACTIVE | FTPARSER           | NULL    | GPL     |
| mysqlx_cache_cleaner             | ACTIVE | AUDIT              | NULL    | GPL     |
| mysqlx                           | ACTIVE | DAEMON             | NULL    | GPL     |
| mysql_native_password            | ACTIVE | AUTHENTICATION     | NULL    | GPL     |
+----------------------------------+--------+--------------------+---------+---------+
47 rows in set (0.00 sec)

您也可以通过检查 SHOW ENGINES 的输出来验证,查找包含 ndbinfoEngine 列中和 YESSupport 列中的行,如下所示(强调文本):

mysql> SHOW ENGINES\G
*************************** 1. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 3. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: MyISAM storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: ndbinfo
     Support: YES
     Comment: MySQL Cluster system information storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 7. row ***************************
      Engine: BLACKHOLE
     Support: YES
     Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 8. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 9. row ***************************
      Engine: ARCHIVE
     Support: YES
     Comment: Archive storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 10. row ***************************
      Engine: ndbcluster
     Support: YES
     Comment: Clustered, fault-tolerant tables
Transactions: YES
          XA: NO
  Savepoints: NO
10 rows in set (0.01 sec)

如果启用了ndbinfo支持,那么可以使用SQL语句在mysql或其他MySQL客户端中访问ndbinfo。例如,可以在SHOW DATABASES的输出结果中看到ndbinfo,如下所示(强调文本):

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ndbinfo            |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.04 sec)

如果mysqld进程没有使用--ndbcluster选项启动,那么ndbinfo不可用,并且不会在SHOW DATABASES中显示。如果mysqld曾经连接到NDB集群,但集群变得不可用(例如由于集群关闭、网络连接丢失等事件),那么ndbinfo和其表仍然可见,但是尝试访问任何其他表(除了blocksconfig_params)将失败,并显示Got error 157 'Connection to NDB failed' from NDBINFO错误信息。

除了blocksconfig_params表外,所谓的ndbinfo表”实际上是由内部NDB表生成的视图,不通常可见于 MySQL 服务器。你可以通过将ndbinfo_ show_hidden系统变量设置为ON(或1),使这些表可见,但这通常不必要。

所有ndbinfo表都是只读的,并且在查询时生成。由于许多它们是在数据节点并行生成,而其他的是特定于给定的 SQL 节点,因此它们不能保证提供一致的快照。

此外,推送下降连接操作不支持在ndbinfo表上;因此,在查询中使用WHERE子句时,连接大型ndbinfo表可能需要将大量数据传输到请求 API 节点。

ndbinfo表不包括在查询缓存中。 (Bug #59831)

您可以使用USE语句选择ndbinfo数据库,然后使用SHOW TABLES语句获取表的列表,正如对任何其他数据库一样,如下所示:

mysql> USE ndbinfo;
Database changed

mysql> SHOW TABLES;
+---------------------------------+
| Tables_in_ndbinfo               |
+---------------------------------+
| arbitrator_validity_detail      |
| arbitrator_validity_summary     |
| backup_id                       |
| blobs                           |
| blocks                          |
| certificates                    |
| cluster_locks                   |
| cluster_operations              |
| cluster_transactions            |
| config_nodes                    |
| config_params                   |
| config_values                   |
| counters                        |
| cpudata                         |
| cpudata_1sec                    |
| cpudata_20sec                   |
| cpudata_50ms                    |
| cpuinfo                         |
| cpustat                         |
| cpustat_1sec                    |
| cpustat_20sec                   |
| cpustat_50ms                    |
| dict_obj_info                   |
| dict_obj_tree                   |
| dict_obj_types                  |
| dictionary_columns              |
| dictionary_tables               |
| disk_write_speed_aggregate      |
| disk_write_speed_aggregate_node |
| disk_write_speed_base           |
| diskpagebuffer                  |
| diskstat                        |
| diskstats_1sec                  |
| error_messages                  |
| events                          |
| files                           |
| foreign_keys                    |
| hash_maps                       |
| hwinfo                          |
| index_columns                   |
| index_stats                     |
| locks_per_fragment              |
| logbuffers                      |
| logspaces                       |
| membership                      |
| memory_per_fragment             |
| memoryusage                     |
| nodes                           |
| operations_per_fragment         |
| pgman_time_track_stats          |
| processes                       |
| resources                       |
| restart_info                    |
| server_locks                    |
| server_operations               |
| server_transactions             |
| table_distribution_status       |
| table_fragments                 |
| table_info                      |
| table_replicas                  |
| tc_time_track_stats             |
| threadblocks                    |
| threads                         |
| threadstat                      |
| transporter_details             |
| transporters                    |
+---------------------------------+
66 rows in set (0.00 sec)

所有ndbinfo表都使用NDB存储引擎;然而,在SHOW ENGINESSHOW PLUGINS的输出中,ndbinfo仍然会出现,如前所述。

您可以对这些表执行SELECT语句,就像通常期望的那样:

mysql> SELECT * FROM memoryusage;
+---------+---------------------+--------+------------+------------+-------------+
| node_id | memory_type         | used   | used_pages | total      | total_pages |
+---------+---------------------+--------+------------+------------+-------------+
|       5 | Data memory         | 425984 |         13 | 2147483648 |       65536 |
|       5 | Long message buffer | 393216 |       1536 |   67108864 |      262144 |
|       6 | Data memory         | 425984 |         13 | 2147483648 |       65536 |
|       6 | Long message buffer | 393216 |       1536 |   67108864 |      262144 |
|       7 | Data memory         | 425984 |         13 | 2147483648 |       65536 |
|       7 | Long message buffer | 393216 |       1536 |   67108864 |      262144 |
|       8 | Data memory         | 425984 |         13 | 2147483648 |       65536 |
|       8 | Long message buffer | 393216 |       1536 |   67108864 |      262144 |
+---------+---------------------+--------+------------+------------+-------------+
8 rows in set (0.09 sec)

更复杂的查询,例如以下两个使用memoryusage表的SELECT语句,是可能的:

mysql> SELECT SUM(used) as 'Data Memory Used, All Nodes'
     >     FROM memoryusage
     >     WHERE memory_type = 'Data memory';
+-----------------------------+
| Data Memory Used, All Nodes |
+-----------------------------+
|                        6460 |
+-----------------------------+
1 row in set (0.09 sec)

mysql> SELECT SUM(used) as 'Long Message Buffer, All Nodes'
     >     FROM memoryusage
     >     WHERE memory_type = 'Long message buffer';
+-------------------------------------+
| Long Message Buffer Used, All Nodes |
+-------------------------------------+
|                             1179648 |
+-------------------------------------+
1 row in set (0.08 sec)

ndbinfo表和列名是大小写敏感的(正如ndbinfo数据库本身的名称一样)。这些标识符都是小写字母。尝试使用错误的字母大小写将导致错误,如下所示:

mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       5 |  17707 | STARTED |           0 |                 1 |
|       6 |  17706 | STARTED |           0 |                 1 |
|       7 |  17705 | STARTED |           0 |                 1 |
|       8 |  17704 | STARTED |           0 |                 1 |
+---------+--------+---------+-------------+-------------------+
4 rows in set (0.06 sec)

mysql> SELECT * FROM Nodes;
ERROR 1146 (42S02): Table 'ndbinfo.Nodes' doesn't exist

mysqldump 完全忽略 ndbinfo 数据库,并将其排除在任何输出中。这是使用--databases--all- databases 选项时也一样的。

NDB 集群还维护了 INFORMATION_ SCHEMA 信息数据库中的表,包括FILES 表,该表包含 NDB 集群磁盘数据存储所用的文件信息,以及ndb_ transid_mysql_connection_map 表,该表显示事务、事务协调器和 NDB 集群 API 节点之间的关系。更多信息,请参阅表的描述或第25.6.18节,“NDB 集群 INFORMATION_SCHEMA 表”