自从自己维护blog以后,基本一个月内,都会出现1,2次这种错误,以前解决的办法很简单,就是把虚拟机重启一下就可以。经常是网友在微信,qq,微博提醒我blog挂掉。
刚好国庆期间碰上,就顺便提高一下自己的运维能力,看看具体的原因。
tail /var/log/mariadb/mariadb.log
看到大概的错误
161004 11:21:05 InnoDB: Fatal error: cannot allocate memory for the buffer pool
161004 11:21:05 [ERROR] Plugin 'InnoDB' init function returned error.
161004 11:21:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
161004 11:21:15 [Note] Plugin 'FEEDBACK' is disabled.
161004 11:21:16 [ERROR] Unknown/unsupported storage engine: InnoDB
161004 11:21:16 [ERROR] Aborting
其实我也能猜到,肯定是数据库的内存使用有啥问题。
有错误,其实就是利用google,基本就有答案
http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool
我使用的青云的虚拟机,swap分区,就是1G,所以应该也不需要创建。
编辑 /etc/my.cnf,
[mysqld]
innodb_buffer_pool_size=64M
重启mysql
systemctl restart mariadb
查看swap内存使用
# free -m
total used free shared buff/cache available
Mem: 993 431 386 6 175 424
Swap: 1023 0 1023
查看一下启动日志
[root@chenshake mariadb]# tail /var/log/mariadb/mariadb.log
161004 20:42:46 InnoDB: Initializing buffer pool, size = 64.0M
161004 20:42:46 InnoDB: Completed initialization of buffer pool
161004 20:42:46 InnoDB: highest supported file format is Barracuda.
161004 20:42:46 InnoDB: Waiting for the background threads to start
密切关注一下后续的效果如何。
您可能感兴趣的文章:- 浅谈MySQL和mariadb区别
- centos 7安装mysql5.5和安装 mariadb使用的命令
- Centos7 下mysql重新启动MariaDB篇
- Mac中MariaDB数据库的安装步骤
- mariadb的主从复制、主主复制、半同步复制配置详解
- CentOS安装和设置MariaDB的教程
- 关于MariaDB安装问题小记(CMake Error at)
- CentOS 7中成功安装MariaDB的方法教程
- MariaDB性能调优工具mytop的使用详解
- MariaDB数据库的外键约束实例详解