23

第一次在Linux (RHEL 5.0)
上使用 PHP-mysql 当我尝试使用 mysqli_connect 从我的 PHP 脚本连接到 MySQL 时。
它显示以下错误:

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'(2)

在谷歌搜索了一个小时后,我找到了解决方案,如此所述。

当我遵循这种方法并发出命令时:

service mysqld status

作为 root 用户,我得到了: mysql is dead but subsys locked任何人都知道如何解决这个问题以及这个错误的原因?

  • 重启
  • 开始
  • 并停止 MySQL
输出为:失败
但 PHP 工作正常。我已经测试了phpinfo();Demo。
我已经在/usr/local/mysql/bin. 任何人都可以帮助我吗?任何帮助表示赞赏。


提前致谢。

4

9 回答 9

68

在我尝试将一个大包更新后,我的 OTRS 服务器出现了这个问题。

解决方案是:

为安全起见:

cp /var/lock/subsys/mysqld /root/mysqld

比删除它

rm /var/lock/subsys/mysqld

而不是关闭所有依赖于 mysql 的服务:

service httpd stop
service otrs stop

在那之后:

service mysqld restart
service httpd restart
service otrs restart

系统为 CentOS 6.x

于 2014-09-04T18:11:21.163 回答
6
service mysqld restart

在 Centos 上简单地重新启动 mysqld 对我有用。

于 2015-06-24T08:15:01.060 回答
4
  1. tail /var/log/mysqld.log 查看错误日志
  2. 然后执行以下操作:

    rm /var/lock/subsys/mysqld chown -R mysql.mysql /var/run/mysqld

于 2014-03-06T12:15:18.863 回答
3

首先,确保 /etc/init.d/mysqld 从 /usr/local/mysql/bin 运行然后,杀死 mysqld ,删除锁定文件并重新启动它。

于 2013-10-15T12:07:39.450 回答
1

如果您有一个完整的磁盘,这(以及各种其他奇怪的错误)也可能发生。就我而言,我的 /var 分区已满。释放空间允许 mysqld 再次重新启动。

于 2016-03-30T16:03:06.807 回答
1

首先找到mysqld的PID号:

 1.使用top | grep mysqld
 2. kill -9 PID

安全方法,适用于 Cent OS

于 2016-10-12T00:53:01.933 回答
0

重新启动服务器对我有用。请记住在重新启动后启动所有服务,以防您没有为它们添加“chkconfig”,比如 httpd、named 和 mysql。

于 2015-11-01T08:19:49.147 回答
0

我使用命令kill,一步一步:

  1. 使用命令 service mysqld status 查找 PID mysqld
  2. 杀死 -9 PID
  3. 再次使用命令 service mysqld status 查找 PID mysqld
  4. 杀死 -15 PID
  5. 使用命令 service mysqld status 再次检查,检查直到 PID dead OR subsys locked
  6. 使用命令 service mysqld start
于 2016-09-13T02:59:36.347 回答
0

我在项目中遇到的问题是因为磁盘空间用完了。

MySQL正在运行的服务器磁盘空间不足,业务项目的日志太大。结果是 MySQL 重启失败。

这是一个概率,你可以试一试。

杜 -sh *

服务 mysqld 重启

于 2020-03-17T07:21:05.703 回答