MySQL崩溃,出现致命错误:InnoDB:无法为缓冲池分配内存

MySQL崩溃,出现致命错误:InnoDB:无法为缓冲池分配内存,mysql,innodb,Mysql,Innodb,首先,我为自己是第一百万个提出这个问题的用户而道歉。我不熟悉使用服务器 MySQL服务似乎每天崩溃几次。以下是包含相关错误的错误日志: 2016-09-19 09:09:53 8461 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2016-09-19 09:09:53 8461 [ERROR] InnoDB: Cannot allocat

首先,我为自己是第一百万个提出这个问题的用户而道歉。我不熟悉使用服务器

MySQL服务似乎每天崩溃几次。以下是包含相关错误的错误日志:

2016-09-19 09:09:53 8461 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-09-19 09:09:53 8461 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-09-19 09:09:53 8461 [ERROR] Plugin 'InnoDB' init function returned error.
2016-09-19 09:09:53 8461 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-09-19 09:09:53 8461 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-09-19 09:09:53 8461 [ERROR] Aborting
似乎解决方案总是增加innodb_缓冲区_池_大小。问题是,此设置或任何其他InnoDB设置都会出现在我的任何MySQL配置文件中。我只能在mysqld.cnf文件中找到以下内容:

# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
一些背景:我在一个vps上运行一个Wordpress站点,内存为512M。我将RAM增加到1G,但问题仍然存在。以下是内存使用的详细信息:

             total       used       free     shared    buffers     cached
Mem:           992        896         96         44         19        133
-/+ buffers/cache:        743        249
Swap:            0          0          0
我可以简单地将以下内容添加到MySQL配置文件并减少缓冲池吗

innodb_buffer_pool_size = 

是否有必要设置交换文件?

由于内存不足,您应该减少而不是增加缓冲池,您建议的大小是多少?请参阅“关于确定此设置应该是什么”。@castis向您展示了一个主题,该主题描述了如何从性能角度计算建议的大小。在你的特殊情况下,我们不可能告诉你实际需要设置多少。但这个问题更多的是针对DBA,而不是针对软件开发人员。1GB是一台“微型”机器。我建议试着用40米做缓冲池。