sudo find / -type s
MysqL服务器系统在以下位置打开了套接字 /var/lib/MysqL/MysqL.sock
找到套接字所在的位置后,将其添加或编辑到/etc/my.cnf文件中,并带有套接字文件的路径:
socket=/var/lib/MysqL/MysqL.sock
有时,启动命令行可执行文件的系统启动脚本会指定一个标志--socket=path
。此标志可能会覆盖my.cnf位置,这将导致在my.cnf文件指示应在的位置找不到套接字。然后,当您尝试运行MySQL命令行客户端时,它将读取my.cnf来查找套接字,但是由于它与服务器创建位置不同,因此找不到该套接字。因此,除非您关心套接字所在的位置,否则只需更改my.cnf使其匹配即可。
然后,停止MysqLd进程。您的操作方式因系统而异。
如果您是Linux系统的超级用户,如果您不知道MysqL设置使用的特定方法,请尝试以下方法之一:
完成此操作后,您可能想要在其中查找pid文件/var/run/MysqLd/
并将其删除
确保套接字上的许可权允许运行MysqLd的任何用户都可以对其进行读取/写入。一个简单的测试是将其打开以进行完全读/写,然后查看它是否仍然有效:
chmod 777 /var/run/MysqLd/MysqLd.sock