问题描述
腾讯云学生优惠服务器在部署Wordpress项目后频繁出现Mysql崩溃情况,翻阅日志发现报错信息InnoDB: mmap (x bytes) failed; errno 12,通过Google最终在StackOverFlow找到解决方案。
问题原因:
云服务物理内存不足,且默认没有设置Swap分区(据了解腾讯云,阿里云,Amazon等均无),Mysql无法申请到足够的内存。
解决方案:使用文件创建Swap
//在终端中执行以下操作
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
//可能会提示`swapon: /swapfile:不安全的权限 0644,建议使用 0600`,无需理会
//参考步骤: `vim /etc/fstab`...
在/etc/fstab中添加行/swapfile swap swap defaults 0 0
//参考步骤:`systemctl restart mariadb`
重启mysql服务