1. 程式人生 > >關於MySQL資料庫 啟動之後使用一段時間掛掉問題

關於MySQL資料庫 啟動之後使用一段時間掛掉問題

問題發生的場景

由於本人在自己的雲伺服器上搭建了一套網站系統,主要用於各種實驗用。在前兩天偶想起自己的部落格好久沒有更新了,自己墮落成這樣。於是在chrome 位址列中熟練的輸入我那令人魂牽夢繞的部落格地址。回車一按,傻眼了。五姑娘廢了。。。。
上伺服器上一看。原來是MySQL伺服器掛了,果然還是自己太嫩。當初考慮問題太簡單。。。
遂,順手啟動了MySQL的服務。而且順利登上了部落格。
可誰曾想,在第二天沒事閒的蛋疼的時候,又去看了一下部落格,妹的。MySQL又掛了。
沒辦法,看來重啟是解決不了問題的,還是看日誌吧

mysql 日誌

2018-03-30T18:43
:01.645892Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12 2018-03-30T18:43:01.645904Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 2018-03-30T18:43:01.645910Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2018-03-30T18:43:01.645918Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2018-03-30T18:43:01.645924Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2018-03-30T18:43:01.645929Z 0 [ERROR] Failed to initialize plugins. 2018-03-30T18:43:01.645934Z 0 [ERROR] Aborting

我已經嗅到了,難道是有人搞我的網站???不然這破部落格怎麼會有那麼多訪問會把MySQL的快取撐爆了。
隨,又查了一遍網站的日誌。

問題解決方法

這個問題主要就是MySQL的快取太大,但是我的主機的記憶體又太小了, 
所以還是要改MySQL的配置檔案啊

mysql的配置都在/ect/mysql.cnf裡面
注意:(Ubuntu 的不一定在這裡,用whereis my.cnf就能找到了)
修改如下這配置

innodb_buffer_pool_size = 50M

當然,如果覺得還不夠,那還有一個更復雜的方法,
把硬碟的空間虛擬成記憶體。具體怎麼做,自己百度吧,