ubuntu – Mysql无法启动mysqld.sock缺失

前端之家收集整理的这篇文章主要介绍了ubuntu – Mysql无法启动mysqld.sock缺失前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
重新启动我的服务器后,一切都正常启动,除了“ 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!

我检查了那条路径,但是我没有找到那个套接文件,请指教?

要查找系统上运行的所有套接文件
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即可.

如果您是Linux系统中的超级用户,基于以上内容,请执行以下操作:

kill -9 <pid_of_MysqL>

或者有时你可以这样做:

pkill -9 MysqLd

执行此操作后,您可能希望在/ var / run / MysqLd /中查找pid文件并将其删除

确保套接字上的权限是这样的,即任何用户MysqLd正在运行,因为它可以读/写它.一个简单的测试是将其打开到完全读/写并查看它是否仍然有效:

chmod 777’/var/run/MysqLd/MysqLd.sock’

如果这样可以解决问题,则可以根据安全设置根据需要定制套接字的权限和所有权.

此外,运行MysqLd进程的用户必须可以访问套接字所在的目录.

参考:https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq

原文链接:https://www.f2er.com/ubuntu/348674.html

猜你在找的Ubuntu相关文章