如何从命令行监控MariaDB Galera集群状态

Sha*_*lan 2 mysql cluster mariadb galera

我知道要检查Galera集群状态,登录mysql客户端后应该使用的命令是:

SHOW STATUS LIKE 'wsrep%';
Run Code Online (Sandbox Code Playgroud)

但是,如何直接从命令行获取输出?

以下命令会导致错误:

[root@mariadb01 ~]# mysql -u root -p "SHOW STATUS LIKE 'wsrep%';"
Enter password:
ERROR 1049 (42000): Unknown database 'SHOW STATUS LIKE 'wsrep%';'
Run Code Online (Sandbox Code Playgroud)

我计划使用 cron 和 bash 创建一个简单的监控,因此需要使用命令行获取输出

Sha*_*lan 7

浏览网站http://www.fromdual.com/making-haproxy-high-available-for-mysql-galera-cluster后,我找到了自己的答案。

从命令行监控 Galera 集群状态的答案是以下命令:

# mysql -u root -p<your_password> --exec="SHOW STATUS LIKE 'wsrep%';"
Run Code Online (Sandbox Code Playgroud)

例子:

[root@mariadb01 ~]# mysql -u root -p<your_password> --exec="SHOW STATUS LIKE 'wsrep%';" |grep wsrep_local_state_comment
wsrep_local_state_comment       Synced
Run Code Online (Sandbox Code Playgroud)