记一次mariadb数据库无法连接
自从自己维护blog以后,基本一个月内,都会出现1,2次这种错误,以前解决的办法很简单,就是把虚拟机重启一下就可以。经常是网友在微信,qq,微博提醒我blog挂掉。
刚好国庆期间碰上,就顺便提高一下自己的运维能力,看看具体的原因。
tail/var/log/mariadb/mariadb.log
看到大概的错误
16100411:21:05InnoDB:Fatalerror:cannotallocatememoryforthebufferpool
16100411:21:05[ERROR]Plugin'InnoDB'initfunctionreturnederror.
16100411:21:05[ERROR]Plugin'InnoDB'registrationasaSTORAGEENGINEfailed.
16100411:21:15[Note]Plugin'FEEDBACK'isdisabled.
16100411:21:16[ERROR]Unknown/unsupportedstorageengine:InnoDB
16100411: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
systemctlrestartmariadb
查看swap内存使用
#free-m totalusedfreesharedbuff/cacheavailable Mem:9934313866175424 Swap:102301023
查看一下启动日志
[root@chenshakemariadb]#tail/var/log/mariadb/mariadb.log
16100420:42:46InnoDB:Initializingbufferpool,size=64.0M
16100420:42:46InnoDB:Completedinitializationofbufferpool
16100420:42:46InnoDB:highestsupportedfileformatisBarracuda.
16100420:42:46 InnoDB:Waitingforthebackgroundthreadstostart
密切关注一下后续的效果如何。