我如何让 mysqlcheck 静音?

我如何让 mysqlcheck 静音?

如果我使用例如:

mysqlcheck syscp --silent --auto-repair

我仍然收到这样的通知:

syscp.panel_sessions
注意:该表的存储引擎不支持检查

这很奇怪,因为手册页中写道:

--silent, -s
静默模式。仅打印错误消息。

看来,--silent 只会抑制 OK 消息。

我怎样才能抑制注释和警告,以便我真正只得到错误?

也许用 grep 解析输出?

https://unix.stackexchange.com/questions/88694/grep-all-lines-but-one-before-the-hit

答案1

看起来这是一个已知错误,已经存在好几年了,但没有任何进展:

http://bugs.mysql.com/bug.php?id=47547

[2009 年 9 月 23 日 11:23] Shane Bester

描述:mysqlcheck 有 --silent 选项,但不够安静。它仍然会打印出警告和注释:

“-s, --silent 仅打印错误消息。”

shell>./mysqlcheck test --check --silent test.t1 注意:该表的存储引擎不支持检查 test.t2 警告:发现 auto_increment 列的值为 0 的行

如何重复:如果存在 t2、t1,则删除表;创建表 t1(a int)引擎=memory;创建表 t2(a int auto_increment primary key)引擎=myisam;插入 t2 值(1);更新 t2 设置 a=0;

mysqlcheck 测试 -uroot --check --silent

建议的修复:在静音模式下操作时不要打印出警告和注释。

[2009年9月23日 11:49] Valeriy Kravchuk

感谢您报告问题。已验证,与描述一致

您需要找到另一种解决方法,就像您所说的使用 grep 抑制一样。输出真的那么难看吗,还是您想要一种方法来找出错误并处理它们?

答案2

我们不能。这是一个错误。它还会在静默模式下打印警告和注释。请检查这个 mysql 错误。Mysql 错误

相关内容