【MySQL故障】----虚拟内存不足挂掉了

81 篇文章 0 订阅

【故障现象】

    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解决方法

    





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值