首页 / 数据库 / MySQL / 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后就可以了。--------------------------------------分割线 --------------------------------------Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htmUbuntu 14.04 LTS 安装 LNMP NginxPHP5 (PHP-FPM)MySQL http://www.linuxidc.com/Linux/2014-05/102351.htmUbuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htmUbuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htmUbuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htmMySQL-5.5.38通用二进制安装 http://www.linuxidc.com/Linux/2014-07/104509.htm--------------------------------------分割线 --------------------------------------本文永久更新链接地址