
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设置使用的特定方法,请尝试以下方法之一:
service mysqld stop
/etc/init.d/mysqld stop
mysqladmin -u root -p shutdown
- 某些系统未设置为具有优雅的方式来停止mysql(或者由于某些原因mysql无法响应),因此您可以使用以下任一方法强制终止mysql:
- 一步:
pkill -9 mysqld
- 两步(最不推荐):
- 使用
pgrep mysql
或找到mysql的进程IDps aux | grep mysql | grep -v grep
- 假设进程ID
4969
以kill -9 4969
- 一步:
完成此 *** 作后,您可能想要在其中查找pid文件
/var/run/mysqld/并将其删除
确保套接字上的许可权允许运行mysqld的任何用户都可以对其进行读取/写入。一个简单的测试是将其打开以进行完全读/写,然后查看它是否仍然有效:
chmod 777 /var/run/mysqld/mysqld.sock
如果这样可以解决问题,则可以根据安全设置根据需要调整套接字的权限和所有权。
另外,运行mysqld进程的用户必须可以访问套接字所在的目录。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)