MySQL的system命令很多时候可以方便查看操作系统上的相关信息,例如查看文件,查看网卡信息,查看日志信息等,没必要退出MySQL客户端。但是,有些同学会疑惑,如果我是远程连接的其他机器的数据库,那么system返回的结果是当前客户端本机的还是服务端的机器上的信息呢?

1.  system命令演示

很多时候,我们在MySQL客户端操作的时候,会查看操作系统上的一些信息,但是又不想频繁退出客户端。例如使用source命令执行多个sql文件时,如果文件比较多且文件名无规律,需要逐个source命令执行时,可以通过system ls命令查看文件名。

system ls 查看文件名

命令行如何停止mysql服务_postgresql

在当前目录下进入本机的数据库,然后用system ls查看文件名

命令行如何停止mysql服务_postgresql_02

可见,返回了当前客户端启动时的目录下的文件,也就是客户端所在的目录下的文件信息

system ip a:  查看ip信息

在操作系统中查看本机ip信息

命令行如何停止mysql服务_命令行如何停止mysql服务_03

在数据库中查看

命令行如何停止mysql服务_postgresql_04

可见结果也一致。

2.  连接远程数据库操作

此时 ,我们再连接其他远程数据库,即服务端与客户端不在一起的情况,看看返回的是客户所在主机的信息还是远程的数据库服务器的信息。

同样在刚才的目录下,远程连接其他数据库

命令行如何停止mysql服务_postgresql_05

可以看到,数据库版本变换了,system ls的结果是没变的。

再看一下返回的IP是多少

命令行如何停止mysql服务_命令行如何停止mysql服务_06

结果看出,涛声依旧,也就是说返回的依旧是客户端所在主机的信息。