我有一个 Centos 7 / MariaDB,1gig DigitalOcean Droplet,上面有 2 个低流量 Wordpress 网站。当服务器获得大约 15 个并发用户时,MySQL 内存耗尽并掉线。日志如下:
180806 14:43:05 InnoDB: Fatal error: cannot allocate memory for the
buffer pool
180806 14:43:05 [ERROR] Plugin 'InnoDB' init function returned error.
180806 14:43:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
180806 14:43:05 [Note] Plugin 'FEEDBACK' is disabled.
180806 14:43:05 [ERROR] Unknown/unsupported storage engine: InnoDB
180806 14:43:05 [ERROR] Aborting
180806 14:43:05 [Note] /usr/libexec/mysqld: Shutdown complete
所以我的问题是,我该怎么做才能阻止 MySQL 掉线,Apache 可以正常运行。所以希望一些方便的配置调整能帮我解决这个问题 :)
大家干杯!
答案1
您的服务器 RAM 有限,您可能为 MySQL 连接分配了过多的内存。我建议检查 MySQL 配置并减少缓冲区大小。
验证 MySQL 配置和内存分配的一个简单方法是运行mysqltuner或其他免费工具。