此问题突然发生,无法通过重新启动来解决。
当mysql和apache同时运行时,apache运行速度非常慢。 当我检查mysqld状态时,它表示mysqld死了但是锁定了。
当mysql停止时,Apache工作正常。 当apache停止时,Mysql也能正常工作。
那么问题是什么?
答案 0 :(得分:0)
需要完整的问题详情,包括您使用os和LAMP的版本。
但是你指定你的mysqld状态显示" mysqld死了但是子锁定"。 你应该调查问题:
我之前遇到的同样错误以及我如何解决这个错误:
调查日志文件:
我检查了我的mysqld日志文件,发现mysqld服务由于内存不足而出现故障。
cat / var / log / messages | grep mysqld |少
要检查mysqld的其他事件,可以使用以下命令检查mysqld.log:
cat /var/log/mysqld.log |少
在我的情况下,我发现mysqld服务很恐慌并因内存问题而被关闭。
检查是否存在交换: 运行以下命令以检查是否已交换Linux Os。
free -m
如果在交换选项中,您找到0则表示您的系统中没有交换内存。
<强>解决方案:强>
要解决此问题,我们需要创建一个交换文件,安装它并使其在启动时保持持久。
创建交换文件(8GB):请注意(交换mamory应该是已安装RAM的两倍),假设您有4 GB内存,那么您应该创建8 GB交换。
键入以下命令以创建和激活交换。
dd if = / dev / zero = / swapfile bs = 1M count = 8192
mkswap / swapfile
最后,输入以下命令并按Enter键。
swapon / swapfile
保护交换文件:
要保护交换文件免受未经授权的访问,请键入以下命令:
chown root:root / swapfile chmod 600 / swapfile
在启动时使交换持久化: vi / etc / fstab
在fstab文件的末尾添加以下内容: / swapfile swap swap默认为0 0
保存并退出该文件。按ESC键,然后键入:wq并按Enter键。
您可以运行以下命令检查交换是否处于活动状态。 free -m
激活了大小为8142MB的交换。它会在必要时使用交换文件。
重启/启动mysqld服务:
您可以键入以下命令来启动mysql服务。
service mysqld start
您现在应该可以访问您的网站了。干杯:)