重新启动我的服务器后,一切都正常启动,除了“
mysql”,我试图手动启动它“/etc/init.d/MysqL restart”或“service MysqL restart”,它失败了
在日志文件中它说:
Jul 16 08:13:38 localhost /etc/init.d/MysqL[18136]: error: 'Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)' Jul 16 08:13:38 localhost /etc/init.d/MysqL[18136]: Check that MysqLd is running and that the socket: '/var/run/MysqLd/MysqLd.sock' exists!
要查找系统上运行的所有套接字文件:
原文链接:https://www.f2er.com/ubuntu/348674.htmlsudo 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即可.
如果您是Linux系统中的超级用户,基于以上内容,请执行以下操作:
kill -9 <pid_of_MysqL>
或者有时你可以这样做:
pkill -9 MysqLd
执行此操作后,您可能希望在/ var / run / MysqLd /中查找pid文件并将其删除
确保套接字上的权限是这样的,即任何用户MysqLd正在运行,因为它可以读/写它.一个简单的测试是将其打开到完全读/写并查看它是否仍然有效:
chmod 777’/var/run/MysqLd/MysqLd.sock’
如果这样可以解决问题,则可以根据安全设置根据需要定制套接字的权限和所有权.