mysql无法启动——cannot allocate the memory for the buffer pool

今天打开开发网站突然不能使用,发现时Mysql数据库down掉了,就去重启:

 mysql.server  restart

一直会报错:“Manager of pid-file quit without updating file”。

然后就去找原因,网上说有以下三个方面的问题:

1、硬盘不够用了,无法写入pid文件

2、进程卡死了,找到mysql进程kill掉,然后重启

3、目录权限问题,找到pid文件写入的目录,查看目录权限是否是使用的安装mysql指定的用户

上述是关于这个问题的最多的解决方案,但是我试了一下都没效果。于是我去查看了mysql.err错误日志文件:

tail -100 mysql.err
发现了下图所示的错误:


直接可以看出是因为内存不足了,因此mysql无法启动的真正原因其实是:

cannot allocate the memory for the buffer pool

然后就去检查了一下内存:

free -ml

发现确实不足,只剩下300多M了,因此首先kill掉了机器上其他的一些无用的进程,接着去修改了my.cnf配置文件,找到了如下两个字段分别将前者由2G改为200M,后者改为了120M。

innodb_buffer_pool_size=200M
key_buffer=120M
然后重启Mysql后就可以了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值