centos 停止mysql服务_关于centos服务器mysql自动停止的解决方法

最近网站更换服务器,由原来的windows服务器换成centos服务器,配置好后运行半天发现网站突然404报错,远程service mysqld restart后又可以正常运行,只是过一段时间就又不正常了。后来发现只要稍微流量大一点,就会出现莫名的的数据库连接错误的情况,然后连上服务器查看,发现mysql进程被结束了,经常出现这种情况,这还怎么得了,然后第一时间查看mysql日志发现是被进程结束了,好端端的怎么就自己结束了呢,这时候想到应该是mysql进程占用太多内存,然后被系统给kill 掉了。

然后 tail /var/log/messages 查看服务器的系统日志/var/log/messages。

然后看了下在mysql自动停止的时间段内,有什么异常的日志信息,日志有提示“Out of memory”这就可以判定,是服务器的内存使用不足,导致系统自动杀死的mysql的进程,果然是内存不足,通过升级服务器的内存可以解决。还有就是linux开启swap(虚拟内存) 也能相应的解决问题, 所以我选择了后者试一试。

在CentOS中添加Swap交换文件,防止内存不足时MYSQL崩溃

添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。

准备工作:

在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。

运行以下命令:

swapon -s

如果返回的信息概要是空的,则表示 Swap 文件不存在。

检查文件系统

在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。

运行以下命令:

df -hal

检查返回的信息,还剩余足够的硬盘空间即可。

具体步骤如下:

由于开启swap分区会导致硬盘IO性能下降,因此阿里云服务器或者其他的一些云服务器初始状态未配置swap,如果某些应用需要开启swap分区,可以采用如下方法增加:

1、创建用于交换分区的文件

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

注:block_size、number_of_block 大小可以自定义,比如bs=1M count=1024 代表设置1G大小swap分区

比如我的:dd if=/dev/zero of=/home/swap bs=1024 count=1024000

2、设置交换分区文件

mkswap /home/swap

3、立即启用交换分区文件

swapon /home/swap

如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a

4、设置开机时自启用swap分区

需要修改文件/etc/fstab中的swap行。

添加 /home/swap swap swap defaults 0 0

注:/home/swap 路径可以修改,可以根据创建的swap文件具体路径来配置。

设置后可以执行free -m命令查看效果。

删除swap交换文件

1、先停止swap分区

/sbin/swapoff /home/swap

2、删除swap分区文件

rm -rf /home/swap

3、删除自动挂载配置命令

vi /etc/fstab

这行删除

/home/swap swap swap default 0 0

这样就能把手动增加的交换文件删除了。

注意:

1、增加删除swap的操作只能使用root用户来操作。

2、装系统时分配的swap分区貌似删除不了。

3、swap分区一般为内存的2倍,但最大不超过2G

另外需要补充的是,如果服务器运行的网站较多,占用内存实在太多的话,显然增加swap分区也并不能很好的解决问题,经过测试,刚开始增加swap分区时的确解决了问题,只是运行一段较长的时间后,问题又会重复出现,目前还没有找到更加理想的解决办法。

如果,如果你是宝塔的面板:那就更简单啦

9220c25821f680d26d78ed94864ee9c3.png

本文最后更新于2018年5月14日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言xichengyouju#163.com(#换成@)反馈,我们会及时处理,谢谢!

AD:【微博】西城知道

未经允许不得转载:作者:知道君, 转载或复制请以 超链接形式 并注明出处 夏末浅笑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值