centos mysqld和httpd不能同时工作

时间:2018-04-16 20:02:34

标签: mysql apache centos

此问题突然发生,无法通过重新启动来解决。

当mysql和apache同时运行时,apache运行速度非常慢。 当我检查mysqld状态时,它表示mysqld死了但是锁定了。

当mysql停止时,Apache工作正常。 当apache停止时,Mysql也能正常工作。

那么问题是什么?

1 个答案:

答案 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

您现在应该可以访问您的网站了。干杯:)