MySQL的system命令很多时候可以方便查看操作系统上的相关信息,例如查看文件,查看网卡信息,查看日志信息等,没必要退出MySQL客户端。但是,有些同学会疑惑,如果我是远程连接的其他机器的数据库,那么system返回的结果是当前客户端本机的还是服务端的机器上的信息呢?
1. system命令演示
很多时候,我们在MySQL客户端操作的时候,会查看操作系统上的一些信息,但是又不想频繁退出客户端。例如使用source命令执行多个sql文件时,如果文件比较多且文件名无规律,需要逐个source命令执行时,可以通过system ls命令查看文件名。
system ls 查看文件名
在当前目录下进入本机的数据库,然后用system ls查看文件名
可见,返回了当前客户端启动时的目录下的文件,也就是客户端所在的目录下的文件信息
system ip a: 查看ip信息
在操作系统中查看本机ip信息
在数据库中查看
可见结果也一致。
2. 连接远程数据库操作
此时 ,我们再连接其他远程数据库,即服务端与客户端不在一起的情况,看看返回的是客户所在主机的信息还是远程的数据库服务器的信息。
同样在刚才的目录下,远程连接其他数据库
可以看到,数据库版本变换了,system ls的结果是没变的。
再看一下返回的IP是多少
结果看出,涛声依旧,也就是说返回的依旧是客户端所在主机的信息。