Spec-Zone .ru
спецификации, руководства, описания, API

17.5.10. ndbinfo MySQL Cluster Information Database

17.5.10.1. ndbinfo arbitrator_validity_detail Таблица
17.5.10.2. ndbinfo arbitrator_validity_summary Таблица
17.5.10.3. ndbinfo blocks Таблица
17.5.10.4. ndbinfo cluster_operations Таблица
17.5.10.5. ndbinfo cluster_transactions Таблица
17.5.10.6. ndbinfo config_params Таблица
17.5.10.7. ndbinfo counters Таблица
17.5.10.8. ndbinfo diskpagebuffer Таблица
17.5.10.9. ndbinfo logbuffers Таблица
17.5.10.10. ndbinfo logspaces Таблица
17.5.10.11. ndbinfo membership Таблица
17.5.10.12. ndbinfo memoryusage Таблица
17.5.10.13. ndbinfo nodes Таблица
17.5.10.14. ndbinfo resources Таблица
17.5.10.15. ndbinfo server_operations Таблица
17.5.10.16. ndbinfo server_transactions Таблица
17.5.10.17. ndbinfo threadblocks Таблица
17.5.10.18. ndbinfo threadstat Таблица
17.5.10.19. ndbinfo transporters Таблица

ndbinfo база данных, хранящая содержащий информацию, определенную для MySQL Cluster.

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

ndbinfo включается с поддержкой MySQL Cluster в 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     || mysql_old_password               | ACTIVE | AUTHENTICATION     | NULL    | GPL     || CSV                              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || MEMORY                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || MRG_MYISAM                       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || MyISAM                           | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || PERFORMANCE_SCHEMA               | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || BLACKHOLE                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || ARCHIVE                          | 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     || 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     || partition                        | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |+----------------------------------+--------+--------------------+---------+---------+22 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 tablesTransactions: YES          XA: NO  Savepoints: NO*************************** 2. row ***************************      Engine: MRG_MYISAM     Support: YES     Comment: Collection of identical MyISAM tablesTransactions: NO          XA: NO  Savepoints: NO*************************** 3. row *************************** Engine: ndbinfo Support:
        YES Comment: MySQL Cluster system information storage engineTransactions: NO XA: NO Savepoints: NO*************************** 4. row ***************************      Engine: CSV     Support: YES     Comment: CSV storage engineTransactions: NO          XA: NO  Savepoints: NO*************************** 5. row ***************************      Engine: MEMORY     Support: YES     Comment: Hash based, stored in memory, useful for temporary tablesTransactions: NO          XA: NO  Savepoints: NO*************************** 6. row ***************************      Engine: FEDERATED     Support: NO     Comment: Federated MySQL storage engineTransactions: NULL          XA: NULL  Savepoints: NULL*************************** 7. row ***************************      Engine: ARCHIVE     Support: YES     Comment: Archive storage engineTransactions: NO          XA: NO  Savepoints: NO*************************** 8. row ***************************      Engine: InnoDB     Support: YES     Comment: Supports transactions, row-level locking, and foreign keysTransactions: YES          XA: YES  Savepoints: YES*************************** 9. row ***************************      Engine: MyISAM     Support: DEFAULT     Comment: Default engine as of MySQL 3.23 with great performanceTransactions: NO          XA: NO  Savepoints: NO*************************** 10. row ***************************      Engine: BLACKHOLE     Support: YES     Comment: /dev/null storage engine (anything you write to it disappears)Transactions: NO          XA: NO  Savepoints: NO10 rows in set (0.00 sec)

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

mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || mysql              || ndbinfo            || test               |+--------------------+4 rows in set (0.00 sec)

Если процесс mysqld не был запущен с --ndbcluster опция, ndbinfo не доступно и не выводится на экран SHOW DATABASES. Если mysqld был прежде соединен с MySQL Cluster, но кластер становится недоступным (из-за событий, таких как завершение работы кластера, потеря сетевой связи, и т.д), ndbinfo и его таблицы остаются видимыми, но попытка получить доступ к любым таблицам (кроме blocks или config_params) сбои с Полученной ошибкой 157 'Соединений с NDB, отказавшим' от NDBINFO.

За исключением blocks и config_params таблицы, к чему мы обращаемся как ndbinfo "таблицы" являются фактически представлениями, сгенерированными от внутреннего NDB таблицы, не обычно видимые к MySQL Server.

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

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

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

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

mysql> USE ndbinfo;Database changedmysql> SHOW TABLES;+----------------------+| Tables_in_ndbinfo    |+----------------------+| blocks               || cluster_operations   || cluster_transactions || config_params        || counters             || diskpagebuffer       || logbuffers           || logspaces            || memoryusage          || nodes                || resources            || server_operations    || server_transactions  || threadblocks         || threadstat           || transporters         |+----------------------+16 rows in set (0.04 sec)

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

mysql> SELECT * FROM memoryusage;+---------+--------------+------+-------+| node_id | DATA_MEMORY  | used | max   |+---------+--------------+------+-------+|       1 | DATA_MEMORY  | 3230 |  6408 ||       2 | DATA_MEMORY  | 3230 |  6408 ||       1 | INDEX_MEMORY |   16 | 12832 ||       2 | INDEX_MEMORY |   16 | 12832 |+---------+--------------+------+-------+4 rows in set (0.37 sec)

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

mysql> SELECT SUM(used) as 'Data Memory Used, All
        Nodes'      >     FROM memoryusage      >     WHERE DATA_MEMORY = '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 DATA_MEMORY = 'INDEX_MEMORY';+-----------------------------+| Total IndexMemory Available |+-----------------------------+|                       25664 |+-----------------------------+1 row in set (0.33 sec)

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

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 опция.

MySQL Cluster также поддерживает таблицы в INFORMATION_SCHEMA информационная база данных, включая FILES таблица, которая содержит информацию о файлах, используемых для MySQL Cluster Disk Data storage. Для получения дополнительной информации см. INFORMATION_SCHEMA Таблицы для MySQL Cluster.