Mysql登陆时不走my.cnf配置里的socket问题

之前有采用源码进行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后,可以默认登陆

你可能感兴趣的:(Mysql登陆时不走my.cnf配置里的socket问题)