MariaDB swap空间没有配置导致的出错问题

之前自己写的一篇关于搭建lamp的文章,在运行过程中会出现一些莫名其妙的错误导致mariadb错误,然后必须手动重启mariadb才能正常启动服务。

于是在mariadb的日志文件中查看到错误信息,/var/log/mariadb/mariadb

171002 10:56:34 [ERROR] Plugin 'InnoDB' init function returned error.
171002 10:56:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
171002 10:56:34 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
171002 10:56:34 [Note] Plugin 'FEEDBACK' is disabled.
171002 10:56:34 [ERROR] Unknown/unsupported storage engine: InnoDB
171002 10:56:34 [ERROR] Aborting

其中有一句Out of memory (Needed 128917504 bytes),看来是内存不足导致的错误,因为我的服务器是阿里云的低配服务器,所以当其他服务占用了很多内存之后,导致mariadb没有足够的内存提供服务。

因为自己的内存是512M,于是想到采用swap空间。查看swap的大小是free -m返回的信息是:

              total        used        free      shared  buff/cache   available
Mem:            992         315         331           0         344         525
Swap:             0           0           0

看来swap也没有建立,那么就手动建立一个swap文件,由于官方给的swap大小建议的是实际内存的2倍,所以我在这里就建立了一个1GB的swap交换文件。

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

配置swap

mkswap /swapfile

启动swap

swapon /swapfile

最后你可以通过free -m命令来查看是否成功建立swap交换分区。

文完

发表评论

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