之前有采用源码进行mysql的安装,似乎并无此问题
在后来的某次二进制安装后,发现my.cnf设置的socket路径为/usr/local/mysql/mysql.sock
登陆mysql时会提示报错
[root@MainEnv ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
必须采用指定S路径的方式方可登陆成功
[root@MainEnv ~]# mysql -S /usr/local/mysql/mysql.sock
这个原因是因为二进制安装的my.cnf里面没有[client]这个选项
如果想要默认通过自己设定的socket路径,而不采用-S的写法,必须要在my.cnf里面写上[client]的相关配置,并将socket路径写在[client]下方的配置里,否则登陆时,mysql只会去默认的/tmp下寻找mysql.sock
而源码安装的mysql似乎是有client选项的(仅凭印象,未继续考证),所以mysql源码安装时指定socket后,可以默认登陆