最近程序在跑着没几天,突然访问不了,查看应用进程都还在。只有数据库的进程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

相关文章:

  • 2022-12-23
  • 2021-07-19
  • 2021-05-03
  • 2021-08-17
  • 2022-02-10
  • 2021-12-28
  • 2022-12-23
  • 2021-07-26
猜你喜欢
  • 2021-12-02
  • 2021-10-15
  • 2021-11-11
  • 2021-05-28
  • 2021-05-24
  • 2022-12-23
相关资源
相似解决方案