Mysqld.sock不存在


13

我有一个在VPC实例中的Amazon EC2上运行的MySQL服务器。我不得不更改它的实例类型以处理负载,当我将其备份时,该套接字不再存在。/var/run/mysqld/mysqld.sock文件不存在,目录也不存在。

我不知道它去了哪里,但是它已经走了。有办法解决吗?如果可以,怎么办?服务器正在运行Ubuntu 10.04。

Answers:


14

确认mysqld.sock不存在

sudo find / -type s | grep mysqld.sock

检查您的/etc/mysql/my.cnf文件是否同意该文件应为/ var / run / mysqld

socket  = /var/run/mysqld/mysqld.sock

如果可以的话

sudo mkdir -p /var/run/mysqld
sudo chown mysql /var/run/mysqld/
sudo service mysql restart

但我怀疑您的问题出在其他地方,因为mysql启动脚本将创建该目录(如果不存在)。mysql日志中是否有任何相关消息?


好吧,这似乎可以解决所有问题。我认为问题是我正在使用mysqld和/etc/init.d/mysql start启动服务器,但是我从未尝试使用服务方法。那是唯一可以创建目录和套接字的程序。
戴夫·隆

1
奇怪的是,我每次进入服务器时都会收到此消息。每次我必须应用此解决方案进行修复时。如果有一些永久性的解决方案,那将是很好的。
Hermann Ingjaldsson

我收到类似“错误:在配置文件中未在前组中的错误:找到的选项:/etc/mysql/my.cnf在以下行的错误:24默认处理中的致命错误。程序中止了”
Blairg23 '18

谢谢..i有同样的问题,我编辑了/etc/mysql/my.cnf文件并添加了socket = /var/run/mysqld/mysqld.sock,restrat之后mysql服务器开始工作。
Bhagvat Lande
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.