搜尋了一下,還蠻多人有一樣的困擾的,MySQL突然就被衝到炸掉。
首先第一步,調閱MySQL log來看一下,發現記憶體調用失敗,於是把內部log打開:
[mysqld_safe] log_error=/var/log/mysql/mysql_error.log [mysqld] log_error=/var/log/mysql/mysql_error.log
發現總是跑出
InnoDB: The InnoDB memory heap is disabled
如果沒開,他會直接吃主機記憶體,處理一下 /etc/mysql/my.cnf,加入這句:
innodb_use_sys_malloc = 0
重開後就出現訊息
InnoDB: Initializing buffer pool, size = 128.0M
是的,預設buffer pool為128MB,稍微爬文了一下發現是夠用的,以中型網站來說。
這個參數並不是越大越好,要看機器本身夠不夠用。
—-參考文獻—-
[1] Ubuntu 安裝和設定 MySQL – http://www.arthurtoday.com/2009/11/ubuntu-910-mysql.html
[2] mytop – MySQL 效能監測工具 – http://www.arthurtoday.com/2013/04/ubuntu-install-mytop.html
[3] Amazon EC2 免費實例: MySQL 崩潰之資料庫 log 查看及設定調教 – http://40era.com/4245/
[4] 15.14 InnoDB Startup Options and System Variables – http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html
[5] How and When To Enable MySQL Logs – http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs
[6] How to Fix ERROR InnoDB: The InnoDB memory heap is disabled – https://www.debian-tutorials.com/how-to-fix-error-innodb-the-innodb-memory-heap-is-disabled
搶先發佈留言