欢迎光临
我们一直在努力

InnoDB: Cannot allocate memory for the buffer pool

综述:这是一次MySQL启动失败故障排查的过程。核心报错内容是 [ERROR] InnoDB: Cannot allocate memory for the buffer pool ,解决方案是修改mysql配置文件里下述参数的值: innodb_buffer_pool_size 、 join_buffer_size ,然后重启mysqld服务。对应服务器系统是CentOS 7。

1、查看mysql配置文件

得到类似如下的内容:

在文件底部可看到 log-error=/var/log/mysqld.log ,说明可通过 /var/log/mysqld.log 文件查看mysql错误日志。

2、查看mysql错误日志

将日志文件拉到底部查看最新日志,得到如下内容:

发现:

应该是内存不够启动mysql服务了。

注意:报错信息里所需内存大小为:137428992 bytes = 137428992 / 1024 / 1024 M = 131.0625 M

3、查询内存情况

得到:

发现此时服务器相关内存情况为:

  • free: 16 M
  • buff/cache: 100 M
  • available: 70 M

这几个数据量都很可怜了。所以我们可以增大可用内存,停掉一些不用的服务,或者减少mysql所需内存。

4、修改mysql配置文件

然后:

  • innodb_buffer_pool_size = 512M 修改为 innodb_buffer_pool_size = 64M
  • join_buffer_size = 512M 改为 join_buffer_size = 64M

然后,重启mysql服务:

5、验证mysql服务是否正常

打开网站,发现数据展示正常

完毕

赞(0) 打赏(金额可任意指定)
未经允许不得转载:峰间的云 » InnoDB: Cannot allocate memory for the buffer pool
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

上海宝山顾村棉被加工店 专业加工新旧棉被

查看详情了解一下

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏