程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 【解決】MySql 5.6 運行崩潰錯誤

【解決】MySql 5.6 運行崩潰錯誤

編輯:MySQL綜合教程

【解決】MySql 5.6 運行崩潰錯誤


【解決】MySql 5.6 運行崩潰錯誤

最近弄了一台雲主機,配置是20G磁盤空間,1G運行內存的Linux服務器。在上面安裝了LAMP(RHEL7.2+Apache2.4+MySql5.6+PHP5.6),然後搭建wordpress網站,可是網站運行沒多久,就出現了連接不上數據庫。到服務器上使用:ps -aux |grep mysql,發現MySql服務並沒有運行,很納悶怎麼運行好好的,就自己停止了。查看了下日志有如下錯誤提示:

2016-02-2000:11:032762[Note]InnoDB:Initializingbufferpool,size=128.0M
InnoDB:mmap(137363456bytes)failed;errno12
2016-02-2000:11:032762[ERROR]InnoDB:Cannotallocatememoryforthebufferpool
2016-02-2000:11:032762[ERROR]Plugin'InnoDB'initfunctionreturnederror.
2016-02-2000:11:032762[ERROR]Plugin'InnoDB'registrationasaSTORAGEENGINEfailed.
2016-02-2000:11:032762[ERROR]Unknown/unsupportedstorageengine:InnoDB
2016-02-2000:11:032762[ERROR]Aborting

從日志的信息看,是說緩沖區的內存不足導致服務終止,我使用: free -m 查看了服務器的內存情況:

totalusedfreesharedbuff/cacheavailable
Mem:9914704611259423
Swap:000

內存是足夠的,嘗試再次啟動MySql服務 :/etc/init.d/mysqld start結果有如下的錯誤:

StartingMySQL..ERROR!TheserverquitwithoutupdatingPIDfile(/data/mysql/mysql.pid).

嘗試了好幾次,都無法啟動,很納悶。

嘗試調整:innodb_buffer_pool_size 參數的大小,可是還是啟動不了。記得之前在虛擬機上也是同樣的環境也沒有出現過這樣的問題,唯一不同的是,這台雲主機上沒有分配交換分區,是不是這個問題導致?那就增加2G的交換分區試一試。

ddif=/dev/zeroof=/udata/men.swapbs=1kcount=2048000
mkswap/udata/men.swap
swapon/udata/men.swap

將交換分區加入的/etc/fstab

vim /etc/fstab

UUID=24357e34-62a1-4645-b3c1-3305c61176e4swapswapdefaults00

一切都ok了,再次嘗試啟動MySQL服務。

/etc/init.d/mysqldstart

Starting MySQL.... SUCCESS!

成功了。。。。難道還真是這樣原因。。。。觀察了一段時間,暫時未出現故障。

MySQL 5.6還需要做優化。。。。還很吃內存啊。。。

free-m
totalusedfreesharedbuff/cacheavailable
Mem:9918577306041
Swap:19996701329

後來在國外的網站上找到了一篇解決同樣問題的文章,方法都一樣,地址如下:

http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved