MySQL客户端输出格式化神奇现象

%ignore_a_1%,以前没注意到,在此分享一下:$ mysql -uroot -e ldquo;show global status like lsquo;Uptim

MySQL客户端输出格式化神奇现象,,以前没注意到,在此分享一下:
$ mysql -uroot -e “show global status like ‘Uptime’”
+—————+———+
| Variable_name | Value |
+—————+———+
| Uptime | 2174838 |
+—————+———+

$ mysql -uroot -e “show global status like ‘Uptime’” > /tmp/test
[mysql@dev81 ~]$ cat /tmp/test
Variable_name Value
Uptime 2174855

发现奇怪的地方了吗?格式化的那些符号都不见了!同样的命令,重定向到文件之后,输出变了!
+—————+———+
| Variable_name | Value |
+—————+———+
| Uptime | 2174838 |
+—————+———+
变成了
Variable_name Value
Uptime 2174855

想了很长时间,没想明白。问了下曲山,他二话不说开始用strace,马上就发现了奥妙所在。
$ strace mysql -uroot -e “show global status like ‘Uptime’”
……
……
write(1, “+—————+———+”, 28+—————+———+
) = 28
write(1, “| Variable_name | Value |”, 28| Variable_name | Value |
) = 28
write(1, “+—————+———+”, 28+—————+———+
) = 28
write(1, “| Uptime | 2175430 | ”, 29| Uptime | 2175430 |
) = 29
write(1, “+—————+———+”, 28+—————+———+
) = 28
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0
write(3, “″, 5) = 5
shutdown(3, 2 /* send and receive */) = 0
close(3) = 0
exit_group(0) = ?
Process 24577 detached

$ strace mysql -uroot -e “show global status like ‘Uptime’” > /tmp/test
……
……
write(1, “Variable_nameValueUptime21755″…, 35) = 35
exit_group(0) = ?
Process 24581 detached

针对不同的输出渠道,MySQL的客户端似乎有方法可以捕捉到并采取不同的格式化输出策略。不过MySQL为什么要这样做的原因还是不知道,估计只有天知道了。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1961103.html

(0)
上一篇 2025年2月23日 05:28:25
下一篇 2025年2月23日 05:28:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 要保证数据库的数据独立性需要修改的是什么?

    要保证数据库的数据独立性需要修改的是什么? 要保证数据库的数据独立性需要修改的是模式与内模式的映射。  DBMS提供了两层映像:外模式/模式映像和模式/内模式映像。外模式到模式的映像,保证了数据的逻辑独立性,从模式到内模式的映像,保证了数据…

    2025年2月23日
    100
  • 数据库读写分离是什么意思

    数据库读写分离的意思是为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作。  读写分离为了确保数据库产品的稳定性,很多数据库拥有双机热备…

    2025年2月23日
    100
  • 数据库的关系运算包括哪些?

    数据库的关系运算包括:1、选择运算,从一个关系R中选择出满足给定条件的所有元组;2、投影运算,从一个关系R所有属性中选择某些指定属性;3、连接运算,是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新关系。 数据库的关系运算包…

    2025年2月23日
    100
  • 数据库索引的作用

    数据库索引的最大作用就是加快查询速度,它能从根本上减少需要扫表的记录行的数量,数据库索引就是数据库的数据结构,进一步说则是该数据结构中存储了一张表中某一列的所有值,也就是说索引是基于数据表中的某一列创建的。     数据库索引是为了增加查询…

    2025年2月23日
    100
  • 数据库的单个数据表中有几个主键?

    数据库的单个数据表中只能有一个主键。数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性;主键主要是用与其他表的外键关联,以及本记录的修改与删除。 数据库的单个数据表中只能有一个主键。 数据库主键,…

    2025年2月23日
    100
  • 最常用的三大中文数据库是什么?

    最常用的三大中文数据库是:“MySQL”、“SQL Server”、“Oracle”。“MySQL”具有体积小、成本低的特点;“SQL Server”具有易用性和友好的用户界面;“Oracle”具有系统可移植性好、快捷灵活的特点。 最常用的…

    2025年2月23日
    100
  • access中表和数据库的关系是什么?

    access中表和数据库的关系是:一个数据库可以包含多个表。Access是一个数据库管理系统,通过各种数据库对象来管理信息;这些对象都存放在同一个数据库文件中,一个数据库可以有多个表,表和表之间可以有关系,也可以相互独立。 access中表…

    2025年2月23日
    100
  • 数据库对象包括哪六个?

    数据库对象包括:用户(对数据库有权限访问的人)、视图(显示用户需要的数据项)、索引(给用户提供快速访问数据的途径)、触发器(用户定义的SQL事务命令集合)、序列(提供了唯一数值的顺序表)、图表(数据库表之间的一种关系示意图)。 主要的数据库…

    2025年2月23日
    100
  • 数据库中能够唯一地标识一个元组的属性或属性的组合称为什么

    数据库中能够唯一地标识一个元组的属性或属性的组合称为关键字。数据库是存放数据的仓库,它的存储空间很大,可以存放非常多的数据。但是数据库并不是随意存放数据,是有一定的规则的。 数据库中能够唯一地标识一个元组的属性或属性的组合称为关键字。 (推…

    2025年2月23日
    100
  • 数据库文件中至少包含有什么对象

    数据库文件中至少包含有表对象。数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库可视为电子化的文件柜,用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库文件中至少包含有表对象。 (推荐学习:…

    2025年2月23日
    100

发表回复

登录后才能评论