首页 > 解决方案 > 如何在 Linux 命令上使用 mysql 的 --pager 选项

问题描述

您好我正在使用安装在 RHEL7 上的 MySQL 服务器 5.5.58。

我正在尝试从show engine innodb status跟踪Pages Made Young。我想从 innodb 监视器输出中过滤掉这些信息。以下是我在 Linux 命令行中使用的命令,但它未能提供所需的输出。我正在尝试将此命令放在 shell 脚本中,以便跟踪更改。

mysql --defaults-extra-file=/etc/mysqldump.cnf --pager="egrep -i pages made young" -e "show engine innodb status;"

它给了我所有的输出,它没有过滤。

我尝试将行 (pager="egrep -i pages made young") 添加到附加配置文件 --defaults-extra-file /etc/mysqldump.cnf配置文件/etc/my.cnf中,但是信息不被过滤。

如何为 MySQL 客户端设置默认寻呼机? 以及如何将 --pager 选项传递给 mysql 命令行--> 没有帮助。

mysql手册页说有效的分页器是less,more,cat [> filename]等等。此选项仅适用于 Unix 且仅在交互模式下有效。它不包括列表中的 grep 或 egrep 过滤器。

这是否意味着我不能在 Linux 命令行上使用它?

当我在 mysql shell 中使用它时,没有问题。

[bunny@localhost]> pager egrep -i 'pages made young'; show engine innodb status;
PAGER set to 'egrep -i 'pages made young''
Pages made young 323890330, not young 0
Pages made young 40605338, not young 0
Pages made young 40353291, not young 0
Pages made young 40467266, not young 0
Pages made young 40284375, not young 0
Pages made young 40783248, not young 0
Pages made young 40164275, not young 0
Pages made young 40682690, not young 0
Pages made young 40549847, not young 0
1 row in set (0.00 sec)

请帮忙。我错过了什么吗?

标签: mysql-5.5

解决方案


推荐阅读