在my.cnf的部分和部分中指定的套接字之间的关系是什么?

我有一个奇怪的问题,我敢肯定是sockets。 我不能在my.cnfconfiguration的mysqld部分指定套接字,如果我这样做,服务器无法启动。

关于这个问题我还有一个更广泛的问题,这里my.cnf中的MySQL Socketconfiguration问题,但是这个是我觉得问题的症结所在,我在这里特意问一下在[mysql]中指定的套接字之间的关系,部分(客户端)和在守护进程部分[mysqld]中指定的套接字。

他们必须匹配吗? 如果我不能在那里指定套接字,这意味着什么?

谢谢。

是的套接字设置需要匹配。 套接字是进程之间的一种通信模式。 服务器指定一个path,如电话号码或IP地址,它将监听请求/通信。 客户端软件连接到套接字的path。 如果客户端和服务器有不同的值,那么就像拨错号码或访问错误的URL一样。

如果在指定套接字时无法启动服务器,则可能是path无效,或者指向服务器因某种原因无法写入的位置。 修复这个。 如果要将其更改为服务器可以访问的其他位置,然后使用新path更新客户端。

你应该确保mysql.sock文件所在的目录可以被MySQL进程写入。 目录中的其他文件由mysql:mysql拥有是不够的。