【故障现象】
MySQL服务器莫名奇妙的挂掉,并且开启不了。
The server quit without updating PID file (/[FAILED]mysql/iZ2ze2hchind7gwe2ilateZ.pid)【错误日志】
查找MySQL的错误日志文件
[root@iZ2ze2hchind7gwe2ilateZ ~]# find / -name mysql /etc/rc.d/init.d/mysql /etc/logrotate.d/mysql /usr/lib64/mysql /usr/bin/mysql /usr/share/mysql /var/lib/mysql /var/lib/mysql/mysql /var/lock/subsys/mysql可以查到MySQL错误日志文件/var/lib/mysql/iZ2ze2hchind7gwe2ilateZ.err
错误日志
2018-05-18 09:25:05 17103 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2018-05-18 09:25:05 17103 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 2018-05-18 09:25:05 17103 [ERROR] Plugin 'InnoDB' init function returned error. 2018-05-18 09:25:05 17103 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2018-05-18 09:25:05 17103 [ERROR] Unknown/unsupported storage engine: InnoDB 2018-05-18 09:25:05 17103 [ERROR] Aborting查看内存
[root@iZ2ze2hchind7gwe2ilateZ mysql]# free -m total used free shared buffers cached Mem: 996 927 68 0 1 13 -/+ buffers/cache: 913 82 Swap: 0 0 0看的出来是交换内存Swap出现了问题
【故障解决】
# dd if=/dev/zero of=/swapfile bs=1M count=256 # mkswap /swapfile # swapon /swapfile查看内存
[root@iZ2ze2hchind7gwe2ilateZ mysql]# free -m total used free shared buffers cached Mem: 996 926 69 0 1 12 -/+ buffers/cache: 912 83 Swap: 255 27 228写入挂载Swap到/etc/fstab
/swapfile swap swap defaults 0 0启动mysql
[root@iZ2ze2hchind7gwe2ilateZ mysql]# service mysql start Starting MySQL. [ OK ]参考资料:
【linux设置虚拟内存(swap)解决mysql因内存不足挂掉的故障】
【MySQL测试环境遇到 mmap(xxx bytes) failed; errno 12解决方法】