需要您的问题的完整详细信息,包括您使用的操作系统和 LAMP 版本。
但是,您指定的 mysqld 状态显示“mysqld dead but subsys locked”。
您应该调查问题:
我之前遇到的同样的错误以及我是如何解决的:
调查日志文件:
我检查了我的mysqld日志文件,发现mysqld服务由于内存不足而出现故障。
cat /var/log/messages | grep mysqld |少
要检查 mysqld 的更多事件,您可以使用以下命令检查 mysqld.log:
cat /var/log/mysqld.log |少
在我的例子中,我发现 mysqld 服务因为内存问题而恐慌并关闭。
检查交换是否存在:
运行以下命令检查您的 Linux 操作系统上是否有交换。
免费的-m
如果在交换选项中,您找到 0,则表示您的系统中没有交换内存。
解决方案:
要解决这个问题,我们需要创建一个交换文件,挂载它并使其在启动时持久化。
创建交换文件 (8GB):请注意(交换内存应该是您安装的 RAM 的两倍),假设您有 4 GB RAM,那么您应该创建 8 GB 交换。
键入以下命令以创建和激活交换。
dd if=/dev/zero of=/swapfile bs=1M count=8192
mkswap /swapfile
最后,输入以下命令并回车。
交换/交换文件
保护交换文件:
要保护交换文件免受未经授权的访问,请键入以下命令:
chown root:root /swapfile
chmod 600 /swapfile
使交换在启动时持久化:
vi /etc/fstab
在 fstab 文件末尾添加以下内容:
/swapfile swap 交换默认值 0 0
保存并退出文件。按 ESC,然后键入 :wq 并按 Enter。
您可以运行以下命令来检查交换是否处于活动状态。
免费-m
大小为 8142MB 的交换被激活。它会在必要时使用交换文件。
重启/启动mysqld服务:
您可以键入以下命令来启动mysql服务。
服务 mysqld 启动
您现在应该可以访问您的网站了。干杯:)