记录一次MySQL进程崩溃,无法重启故障排查

最近程序在跑着没几天,突然访问不了,查看应用进程都还在。只有数据库的进程down掉了。于是找到日志文件看到如下错误

2017-07-24 01:58:53 19934 [Note] InnoDB: Initializing buffer pool, size = 512.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2017-07-24 01:58:53 19934 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-07-24 01:58:53 19934 [ERROR] Plugin 'InnoDB' init function returned error.
2017-07-24 01:58:53 19934 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-07-24 01:58:53 19934 [ERROR] Unknown/unsupported storage engine: InnoDB
2017-07-24 01:58:53 19934 [ERROR] Aborting

意思是没有足够的内存为InnoDB创建缓冲池。原来是这个原因,接下来就是解决它。 在/etc/my.cnf把缓冲内存设小点就可以了

innodb_buffer_pool_size = 128M

当然有钱的主,是可以直接忽略这种方式的,加内存就可以了。

 


 

PS:默认日志文件在mysql的data目录下,文件名是 计算机名.err,也可以通过这个命令查看 show variables like ‘log_%’;

 

本文转载自 Java 中文社区https://www.javafm.com/issue/134

posted on 2017-07-25 14:27  唐际忠  阅读(1421)  评论(0编辑  收藏  举报