MariaDB 10.1.2:Galera 集群成员和状态相关的 INFORMATION_SCHEMA 表
MariaDB Galera 服务器将所有与集群相关的信息,如节点状态、集群状态、成员身份等,都记录在错误日志中。MariaDB 10.1.2 引入了一个新的 INFORMATION SCHEMA 插件 WSREP_INFO,可以通过 INFORMATION SCHEMA 表查询这些信息。WSREP_INFO 插件向 Information Schema 添加了两个新表:WSREP_MEMBERSHIP 和 WSREP_STATUS。该插件默认不启用,因此要使用它,需要先安装
MariaDB [test]> INSTALL SONAME 'wsrep_status';
Query OK, 0 rows affected (0.04 sec)
MariaDB [test]> SHOW PLUGINS;
+-----------------------------+----------+--------------------+-----------------+---------+
| Name | Status | Type | Library | License |
+-----------------------------+----------+--------------------+-----------------+---------+
...
| WSREP_MEMBERSHIP | ACTIVE | INFORMATION SCHEMA | wsrep_status.so | GPL |
| WSREP_STATUS | ACTIVE | INFORMATION SCHEMA | wsrep_status.so | GPL |
+-----------------------------+----------+--------------------+-----------------+---------+
52 rows in set (0.01 sec)
MariaDB [test]> SHOW CREATE TABLE INFORMATION_SCHEMA.WSREP_MEMBERSHIPG
*************************** 1. row ***************************
Table: WSREP_MEMBERSHIP
Create Table: CREATE TEMPORARY TABLE `WSREP_MEMBERSHIP` (
`INDEX` int(11) NOT NULL DEFAULT '0',
`UUID` varchar(36) NOT NULL DEFAULT '',
`NAME` varchar(32) NOT NULL DEFAULT '',
`ADDRESS` varchar(256) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
MariaDB [test]> SHOW CREATE TABLE INFORMATION_SCHEMA.WSREP_STATUSG
*************************** 1. row ***************************
Table: WSREP_STATUS
Create Table: CREATE TEMPORARY TABLE `WSREP_STATUS` (
`NODE_INDEX` int(11) NOT NULL DEFAULT '0',
`NODE_STATUS` varchar(16) NOT NULL DEFAULT '',
`CLUSTER_STATUS` varchar(16) NOT NULL DEFAULT '',
`CLUSTER_SIZE` int(11) NOT NULL DEFAULT '0',
`CLUSTER_STATE_UUID` varchar(36) NOT NULL DEFAULT '',
`CLUSTER_STATE_SEQNO` bigint(21) NOT NULL DEFAULT '0',
`CLUSTER_CONF_ID` bigint(21) NOT NULL DEFAULT '0',
`GAP` varchar(10) NOT NULL DEFAULT '',
`PROTOCOL_VERSION` int(11) NOT NULL DEFAULT '0'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
MariaDB [test]> SELECT @@wsrep_provider;
+----------------------------------+
| @@wsrep_provider |
+----------------------------------+
| /usr/lib/galera/libgalera_smm.so |
+----------------------------------+
1 row in set (0.00 sec)
安装 WSREP_INFO 插件后,让我们来看看这些表在 3 节点集群中的内容。
MariaDB [test]> SELECT * FROM INFORMATION_SCHEMA.WSREP_MEMBERSHIP;
+-------+--------------------------------------+----------+-----------------+
| INDEX | UUID | NAME | ADDRESS |
+-------+--------------------------------------+----------+-----------------+
| 0 | 19058073-8940-11e4-8570-16af7bf8fced | my_node1 | 10.0.2.15:16001 |
| 1 | 19f2b0e0-8942-11e4-9cb8-b39e8ee0b5dd | my_node3 | 10.0.2.15:16003 |
| 2 | d85e62db-8941-11e4-b1ef-4bc9980e476d | my_node2 | 10.0.2.15:16002 |
+-------+--------------------------------------+----------+-----------------+
3 rows in set (0.00 sec)
MariaDB [test]> SELECT * FROM INFORMATION_SCHEMA.WSREP_STATUSG
*************************** 1. row ***************************
NODE_INDEX: 0
NODE_STATUS: Synced
CLUSTER_STATUS: Primary
CLUSTER_SIZE: 3
CLUSTER_STATE_UUID: 190604d7-8940-11e4-a084-ebee5211c190
CLUSTER_STATE_SEQNO: 2
CLUSTER_CONF_ID: 3
GAP: NO
PROTOCOL_VERSION: 3
1 row in set (0.00 sec)
如上所示,WSREP_MEMBERSHIP 表显示了集群中当前成员的信息,包括节点的名称和入站地址。另一方面,WSREP_STATUS 表显示了关于节点和整个集群的状态信息。
SHOW 命令也可以用来查询这些表。它速度很快,并且减少了 WSREP_STATUS 的列数以便适应屏幕显示。
MariaDB [test]> SHOW WSREP_MEMBERSHIP; +-------+--------------------------------------+----------+-----------------+ | Index | Uuid | Name | Address | +-------+--------------------------------------+----------+-----------------+ | 0 | 19058073-8940-11e4-8570-16af7bf8fced | my_node1 | 10.0.2.15:16001 | | 1 | 19f2b0e0-8942-11e4-9cb8-b39e8ee0b5dd | my_node3 | 10.0.2.15:16003 | | 2 | d85e62db-8941-11e4-b1ef-4bc9980e476d | my_node2 | 10.0.2.15:16002 | +-------+--------------------------------------+----------+-----------------+ 3 rows in set (0.00 sec) MariaDB [test]> SHOW WSREP_STATUS; +------------+-------------+----------------+--------------+ | Node_Index | Node_Status | Cluster_Status | Cluster_Size | +------------+-------------+----------------+--------------+ | 0 | Synced | Primary | 3 | +------------+-------------+----------------+--------------+ 1 row in set (0.00 sec)