Spec-Zone.ru › MySQL 5.7

21.6.15 ndbinfo: База данных информации о кластере NDB

  • 21.6.15.1 Таблица ndbinfo arbitrator_validity_detail
  • 21.6.15.2 Таблица ndbinfo arbitrator_validity_summary
  • 21.6.15.3 Таблица ndbinfo blocks
  • 21.6.15.4 Таблица ndbinfo cluster_locks
  • 21.6.15.5 Таблица ndbinfo cluster_operations
  • 21.6.15.6 Таблица ndbinfo cluster_transactions
  • 21.6.15.7 Таблица ndbinfo config_nodes
  • 21.6.15.8 Таблица ndbinfo config_params
  • 21.6.15.9 Таблица ndbinfo config_values
  • 21.6.15.10 Таблица ndbinfo counters
  • 21.6.15.11 Таблица ndbinfo cpustat
  • 21.6.15.12 Таблица ndbinfo cpustat_50ms
  • 21.6.15.13 Таблица ndbinfo cpustat_1sec
  • 21.6.15.14 Таблица ndbinfo cpustat_20sec
  • 21.6.15.15 Таблица ndbinfo dict_obj_info
  • 21.6.15.16 Таблица ndbinfo dict_obj_types
  • 21.6.15.17 Таблица ndbinfo disk_write_speed_base
  • 21.6.15.18 Таблица ndbinfo disk_write_speed_aggregate
  • 21.6.15.19 Таблица ndbinfo disk_write_speed_aggregate_node
  • 21.6.15.20 Таблица ndbinfo diskpagebuffer
  • 21.6.15.21 Таблица ndbinfo error_messages
  • 21.6.15.22 Таблица ndbinfo locks_per_fragment
  • 21.6.15.23 Таблица ndbinfo logbuffers
  • 21.6.15.24 Таблица ndbinfo logspaces
  • 21.6.15.25 Таблица ndbinfo membership
  • 21.6.15.26 Таблица ndbinfo memoryusage
  • 21.6.15.27 Таблица ndbinfo memory_per_fragment
  • 21.6.15.28 Таблица ndbinfo nodes
  • 21.6.15.29 Таблица ndbinfo operations_per_fragment
  • 21.6.15.30 Таблица ndbinfo processes
  • 21.6.15.31 Таблица ndbinfo resources
  • 21.6.15.32 Таблица ndbinfo restart_info
  • 21.6.15.33 Таблица ndbinfo server_locks
  • 21.6.15.34 Таблица ndbinfo server_operations
  • 21.6.15.35 Таблица ndbinfo server_transactions
  • 21.6.15.36 Таблица ndbinfo table_distribution_status
  • 21.6.15.37 Таблица ndbinfo table_fragments
  • 21.6.15.38 Таблица ndbinfo table_info
  • 21.6.15.39 Таблица ndbinfo table_replicas
  • 21.6.15.40 Таблица ndbinfo tc_time_track_stats
  • 21.6.15.41 Таблица ndbinfo threadblocks
  • 21.6.15.42 Таблица ndbinfo threads
  • 21.6.15.43 Таблица ndbinfo threadstat
  • 21.6.15.44 Таблица ndbinfo transporters

ndbinfo представляет собой базу данных, содержащую информацию, специфичную для кластера NDB.

Эта база данных содержит ряд таблиц, каждая из которых предоставляет различные данные о состоянии узлов кластера NDB, использовании ресурсов и операциях. Более подробную информацию о каждой из этих таблиц вы найдете в следующих разделах.

ndbinfo включена в поддержку кластера NDB в MySQL Server; не требуются специальные шаги компиляции или конфигурации; таблицы создаются MySQL Server при подключении к кластеру. Вы можете проверить, что ndbinfo поддержка активна в данном экземпляре MySQL Server, используя SHOW PLUGINS; если ndbinfo поддержка включена, вы должны увидеть строку, содержащую ndbinfo в столбце Name и ACTIVE в столбце Status, как показано здесь (выделенный текст):

mysql> SHOW PLUGINS;
+----------------------------------+--------+--------------------+---------+---------+
| Name                             | Status | Type               | Library | License |
+----------------------------------+--------+--------------------+---------+---------+
| binlog                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| mysql_native_password            | ACTIVE | AUTHENTICATION     | NULL    | GPL     |
| sha256_password                  | ACTIVE | AUTHENTICATION     | NULL    | GPL     |
| MRG_MYISAM                       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MEMORY                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| CSV                              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MyISAM                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| InnoDB                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| INNODB_TRX                       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCKS                     | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCK_WAITS                | 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_SYS_TABLES                | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_TABLESTATS            | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_INDEXES               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_COLUMNS               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_FIELDS                | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_FOREIGN               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_FOREIGN_COLS          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_TABLESPACES           | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_DATAFILES             | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SYS_VIRTUAL               | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| PERFORMANCE_SCHEMA               | 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     |
| BLACKHOLE                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ARCHIVE                          | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| partition                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| ngram                            | ACTIVE | FTPARSER           | NULL    | GPL     |
+----------------------------------+--------+--------------------+---------+---------+
46 rows in set (0.00 sec)

Вы также можете сделать это, проверив вывод SHOW ENGINES на наличие строки, содержащей ndbinfo в столбце Engine и YES в столбце Support, как показано здесь (выделенный текст):

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

Если ndbinfo поддержка включена, то вы можете получить доступ к ndbinfo с помощью SQL-запросов в mysql или другом MySQL-клиенте. Например, вы можете увидеть ndbinfo в выводе SHOW DATABASES, как показано здесь (выделенный текст):

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 и её таблицы остаются видимыми, но попытка доступа к любым таблицам (кроме blocks или config_params) завершается ошибкой Ошибка 157 'Подключение к NDB не удалось' от NDBINFO.

За исключением таблиц blocks и config_params, то, что мы называем ndbinfo “таблицами”, на самом деле являются представлениями, сгенерированными из внутренних таблиц NDB, обычно невидимыми для MySQL Server. Вы можете сделать эти таблицы видимыми, установив системную переменную ndbinfo_show_hidden в ON (или 1), но обычно это не требуется.

Все таблицы ndbinfo являются только для чтения и генерируются по требованию при запросе. Поскольку многие из них генерируются параллельно узлами данных, а другие специфичны для данного узла SQL, они не гарантируют предоставление согласованной моментальной копии.

Кроме того, применение объединений не поддерживается для таблиц ndbinfo; поэтому объединение больших таблиц ndbinfo может потребовать передачи большого объема данных на запрашивающий узел API, даже если запрос использует предложение WHERE.

Таблицы ndbinfo не включены в кэш запросов. (Ошибка #59831)

Вы можете выбрать базу данных ndbinfo с помощью оператора USE, а затем выдать оператор SHOW TABLES для получения списка таблиц, как и для любой другой базы данных, например:

mysql> USE ndbinfo;
Database changed

mysql> SHOW TABLES;
+---------------------------------+
| Tables_in_ndbinfo               |
+---------------------------------+
| arbitrator_validity_detail      |
| arbitrator_validity_summary     |
| blocks                          |
| cluster_locks                   |
| cluster_operations              |
| cluster_transactions            |
| config_nodes                    |
| config_params                   |
| config_values                   |
| counters                        |
| cpustat                         |
| cpustat_1sec                    |
| cpustat_20sec                   |
| cpustat_50ms                    |
| dict_obj_info                   |
| dict_obj_types                  |
| disk_write_speed_aggregate      |
| disk_write_speed_aggregate_node |
| disk_write_speed_base           |
| diskpagebuffer                  |
| error_messages                  |
| locks_per_fragment              |
| logbuffers                      |
| logspaces                       |
| membership                      |
| memory_per_fragment             |
| memoryusage                     |
| nodes                           |
| operations_per_fragment         |
| 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                      |
| transporters                    |
+---------------------------------+
44 rows in set (0.00 sec)

В NDB 7.5.0 (и более поздних версиях) все таблицы ndbinfo используют движок хранения NDB; однако запись ndbinfo всё ещё появляется в выводе SHOW ENGINES и SHOW PLUGINS, как описано ранее.

Таблица config_values была добавлена в NDB 7.5.0.

END_OF_DOCUMENT_MARKER

Таблицы cpustat, cpustat_50ms, cpustat_1sec, cpustat_20sec и threads были добавлены в NDB 7.5.2.

Таблицы cluster_locks, locks_per_fragment и server_locks были добавлены в NDB 7.5.3.

Таблицы dict_obj_info, table_distribution_status, table_fragments, table_info и table_replicas были добавлены в NDB 7.5.4.

Таблицы config_nodes и processes были добавлены в NDB 7.5.7.

Таблица error_messages была добавлена в NDB 7.6.

Вы можете выполнять SELECT запросы к этим таблицам, как обычно:

mysql> SELECT * FROM memoryusage;
+---------+---------------------+--------+------------+------------+-------------+
| node_id | memory_type         | used   | used_pages | total      | total_pages |
+---------+---------------------+--------+------------+------------+-------------+
|       5 | Data memory         | 753664 |         23 | 1073741824 |       32768 |
|       5 | Index memory        | 163840 |         20 | 1074003968 |      131104 |
|       5 | Long message buffer |   2304 |          9 |   67108864 |      262144 |
|       6 | Data memory         | 753664 |         23 | 1073741824 |       32768 |
|       6 | Index memory        | 163840 |         20 | 1074003968 |      131104 |
|       6 | Long message buffer |   2304 |          9 |   67108864 |      262144 |
+---------+---------------------+--------+------------+------------+-------------+
6 rows in set (0.02 sec)

Более сложные запросы, такие как два следующих SELECT запроса, использующие таблицу memoryusage, тоже возможны:

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.37 sec)

mysql> SELECT SUM(max) as 'Total IndexMemory Available'
     >     FROM memoryusage
     >     WHERE memory_type = 'Index memory';
+-----------------------------+
| Total IndexMemory Available |
+-----------------------------+
|                       25664 |
+-----------------------------+
1 row in set (0.33 sec)

Имена таблиц и столбцов в ndbinfo таблице являются регистрозависимыми (как и само имя базы данных ndbinfo). Эти идентификаторы в нижнем регистре. Попытка использовать неправильный регистр приводит к ошибке, как показано в этом примере:

mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+
| node_id | uptime | status  | start_phase |
+---------+--------+---------+-------------+
|       1 |  13602 | STARTED |           0 |
|       2 |     16 | STARTED |           0 |
+---------+--------+---------+-------------+
2 rows in set (0.04 sec)

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

mysqldump игнорирует базу данных ndbinfo целиком и исключает её из любого вывода. Это верно даже при использовании опции --databases или --all-databases.

NDB Cluster также поддерживает таблицы в базе данных информации INFORMATION_SCHEMA, включая таблицу FILES, которая содержит информацию о файлах, используемых для хранения данных NDB Cluster Disk Data, и таблицу ndb_transid_mysql_connection_map, которая показывает взаимосвязи между транзакциями, координаторами транзакций и узлами NDB Cluster API. Более подробную информацию см. в описаниях таблиц или в разделе 21.6.16, «Таблицы INFORMATION_SCHEMA для NDB Cluster».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-cluster-ndbinfo.html

Spec-Zone.ru

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