使用LIKE和OR查询MySQL多个状态字段的语法报错问题
正确查询多个MySQL/MariaDB状态变量的语法
错误原因
你尝试的几种写法均违反SHOW STATUS的语法规则:该语句不支持在LIKE后直接用OR拼接条件,必须通过多语句分隔或WHERE子句实现多变量查询。
正确实现方式
方式1:执行多个独立的SHOW STATUS语句
用分号分隔多个语句,一次性执行,会依次输出两个结果集:
sudo mysql -e "SHOW STATUS LIKE 'wsrep_local_state_comment'; SHOW STATUS LIKE 'wsrep_cluster_size'"
方式2:使用WHERE子句合并结果(推荐)
利用SHOW STATUS返回结果的列名(Variable_name和Value),通过WHERE指定多个条件,结果会合并为一个整洁的表格:
sudo mysql -e "SHOW STATUS WHERE Variable_name = 'wsrep_local_state_comment' OR Variable_name = 'wsrep_cluster_size'"
如果需要模糊匹配(比如变量名包含通配符),可替换为LIKE:
sudo mysql -e "SHOW STATUS WHERE Variable_name LIKE 'wsrep_local_state_comment' OR Variable_name LIKE 'wsrep_cluster_size'"
方式3:用正则表达式简化条件
如果变量名有规律,可使用REGEXP批量匹配:
sudo mysql -e "SHOW STATUS WHERE Variable_name REGEXP 'wsrep_local_state_comment|wsrep_cluster_size'"
内容的提问来源于stack exchange,提问作者SebMa
相关产品推荐
相关产品推荐

