自從自己維護(hù)blog以后,基本一個(gè)月內(nèi),都會(huì)出現(xiàn)1,2次這種錯(cuò)誤,以前解決的辦法很簡(jiǎn)單,就是把虛擬機(jī)重啟一下就可以。經(jīng)常是網(wǎng)友在微信,qq,微博提醒我blog掛掉。
剛好國(guó)慶期間碰上,就順便提高一下自己的運(yùn)維能力,看看具體的原因。
tail /var/log/mariadb/mariadb.log
看到大概的錯(cuò)誤
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
其實(shí)我也能猜到,肯定是數(shù)據(jù)庫的內(nèi)存使用有啥問題。
有錯(cuò)誤,其實(shí)就是利用google,基本就有答案
http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool
我使用的青云的虛擬機(jī),swap分區(qū),就是1G,所以應(yīng)該也不需要?jiǎng)?chuàng)建。
編輯 /etc/my.cnf,
[mysqld]
innodb_buffer_pool_size=64M
重啟mysql
systemctl restart mariadb
查看swap內(nèi)存使用
# free -m
total used free shared buff/cache available
Mem: 993 431 386 6 175 424
Swap: 1023 0 1023
查看一下啟動(dòng)日志
[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
密切關(guān)注一下后續(xù)的效果如何。
您可能感興趣的文章:- 淺談MySQL和mariadb區(qū)別
- centos 7安裝mysql5.5和安裝 mariadb使用的命令
- Centos7 下mysql重新啟動(dòng)MariaDB篇
- Mac中MariaDB數(shù)據(jù)庫的安裝步驟
- mariadb的主從復(fù)制、主主復(fù)制、半同步復(fù)制配置詳解
- CentOS安裝和設(shè)置MariaDB的教程
- 關(guān)于MariaDB安裝問題小記(CMake Error at)
- CentOS 7中成功安裝MariaDB的方法教程
- MariaDB性能調(diào)優(yōu)工具mytop的使用詳解
- MariaDB數(shù)據(jù)庫的外鍵約束實(shí)例詳解