网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,一般在配置部署MySQL环境时都会在mysql的my.cnf文件中[mysqld]栈下添加上socket文件的路径,而这样做的好处是如果启用了多实例mysql时,可以通过socket文件来快速的登录mysql对应不同端口下的实例,如在一台有部署2个实例的mysql服务一个是用3306,一个是用3307端口,那么就可以通过2个不同的socket文件快速的登录
mysql -uroot -p --socket=/tmp/mysql3307.sock --port=3307
#当然这里不指定端口也是可以的
当然平时在很多的监控软件中如zabbix很多都有要求指定socket文件,当然socket文件还在一般情况下通过socket文件是可以免密码登录的,所以以上的登录也可以这样直接登录
mysql -S /tmp/mysql3307.sock
#"S"的选项和"--socket="是一样的