虚拟小机 MariaDB 配置

Photo by K. Mitch Hodge on Unsplash

当虚拟主机内存小于 1G 或者更小时,往往会遇到 MariaDB 数据库挂掉后不能由守护进程再次拉起,后台日志显往往如下所示显示内存不足的提示。这也是 WordPress 在小型虚拟机上部署会遇到最大的问题。

InnoDB: Fatal error: cannot allocate memory for the buffer pool

这种现象在分配虚拟内存之后故障发生率会明显降低,但仍偶发。目前最好的解决方法是在 MariaDB 配置文件中,在字段中 [mysqld] 块中关闭一个模式。

[mysqld]  
performance_schema = off

这是因为 performance_schema 会在数据库启动时占用大约 400 MB 左右的内存。这对小型虚拟主机来说非常重要,关闭这个选项可以精简数据库启动时需要的内存资源。

同时我们需要减少 innodb 缓存池的大小。这样可以避免进程拉起阶段内存不足的问题。

#/etc/my.cnf  innodb_buffer_pool_size = 50M

参考链接

Starting MySQL On Low Memory Virtual Machines

Very low memory mysql 5 my.cnf configuration

发表评论

电子邮件地址不会被公开。 必填项已用*标注