mysql無法啟動——cannot allocate the memory for the buffer pool,allocatebuffer

來源:互聯網
上載者:User

mysql無法啟動——cannot allocate the memory for the buffer pool,allocatebuffer

今天開啟開發網站突然不能使用,發現時Mysql資料庫down掉了,就去重啟:

 mysql.server  restart

一直會報錯:“Manager of pid-file quit without updating file”。

然後就去找原因,網上說有以下三個方面的問題:

1、硬碟不夠用了,無法寫入pid檔案

2、進程卡死了,找到mysql進程kill掉,然後重啟

3、目錄許可權問題,找到pid檔案寫入的目錄,查看目錄許可權是否是使用的安裝mysql指定的使用者

上述是關於這個問題的最多的解決方案,但是我試了一下都沒效果。於是我去查看了mysql.err錯誤記錄檔檔案:

tail -100 mysql.err
發現了所示的錯誤:


直接可以看出是因為記憶體不足了,因此mysql無法啟動的真正原因其實是:

cannot allocate the memory for the buffer pool

然後就去檢查了一下記憶體:

free -ml

發現確實不足,只剩下300多M了,因此首先kill掉了機器上其他的一些無用的進程,接著去修改了my.cnf設定檔,找到了如下兩個欄位分別將前者由2G改為200M,後者改為了120M。

innodb_buffer_pool_size=200Mkey_buffer=120M
然後重啟Mysql後就可以了。




mysql服務啟動不了,下面是mysql的錯誤記錄檔

1、注意儲存引擎錯誤
Unknown/unsupported storage engine: InnoDB
2、檢查一下設定檔中關於innodb的參數,如果有skip-innodb注釋掉
3、如果重新設定了innodb_log_file_size之類的,需要刪除幾個ib_logfile,然後重啟資料庫
 
linux啟動mysql失敗

好好檢查下/etc/my.cnf是否有錯誤.
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.