这两天打开博客总显示建立数据库连接时出错
,头两次手动重启了一下。结果今天又发生类似事情,知道肯定是数据库出现了问题,于是查看了MariaDB
日志/var/log/mariadb/mariadb.log
。
通过日志, 可以看到是由于内存不足所导致的数据库崩溃:
170902 4:21:18 [ERROR] Plugin 'InnoDB' init function returned error.
170902 4:21:18 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170902 4:21:18 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
170902 4:21:18 [Note] Plugin 'FEEDBACK' is disabled.
170902 4:21:18 [ERROR] Unknown/unsupported storage engine: InnoDB
170902 4:21:18 [ERROR] Aborting
170902 4:21:18 [Note] /usr/libexec/mysqld: Shutdown complete
既然知道了原因,那也就有了解决方法。首先通过free -m
命令查看内用使用情况,看到swap
分区大小为0,既然如此那就需要手动添加一个swap
分区。
1. 进入一个目录创建SWAP分区文件:
cd /var
然后创建一个文件,大小为1G:( if:输入文件,of:输出文件,bs:块大小 1024bytes, count:有多少个这样大小的块 1048576 = 1024*1024 )
dd if=/dev/zero of=swapfile bs=1024 count=1048576
2. 创建SWAP文件:
mkswap swapfile
3. 之后设置它的权限:(不这样设置会出现系统警告 swapon: /var/swapfile: insecure permissions 0644, 0600 suggested.)
chmod 0600 swapfile
4. 立即激活SWAP文件:
swapon swapfile
5. 设置开机挂载这个SWAP文件
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
6. 继续使用 free -m
命令,查看分区使用情况。
附:删除SWAP分区
1. 使用swapoff
命令关闭系统交换区:
swapoff /swapfile
2. 修改fstab
文件:
vim /etc/fstab
3. 删除分区文件
文件 rm -rf /swapfile
参考文档:VPS优化之添加swap交换分区
今日头条新闻 说:
文章不错非常喜欢
April 24, 2018 2:22 am
饮水机水泵 说:
centos,以前在学校的时候还开过选修课呢。现在都忘得差不多了。
November 29, 2017 2:06 pm
梦幻神化 说:
哈哈哈 我也一样 只能重新拾起
December 4, 2017 2:08 pm