1. 程式人生 > >記憶體不足,mysql 導致啟動失敗

記憶體不足,mysql 導致啟動失敗

問題:mysql 啟動報錯

[[email protected] ~]# service mysqld restart
MySQL server PID file could not be found!                  [FAILED]
Starting MySQL.Logging to '/var/log/mysql/error.log'.
The server quit without updating PID file (/data/mysql/iZuz[FAILED]2iZ.pid).

第一直覺告訴我google “ MySQL server PID file could not be found! [FAILED]”,可基本沒什麼用。
後開有人說看看報錯資訊,於是:

[[email protected] ~]# tail -n 50 /data/mysql/iZuzc9f4ma6h2iZ.err
InnoDB: mmap(137363456 bytes) failed; errno 12
2017-12-28 17:09:44 25065 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-12-28 17:09:44 25065 [ERROR] Plugin 'InnoDB' init function returned error.
2017-12-28 17:09:44 25065 [ERROR
] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2017-12-28 17:09:44 25065 [ERROR] Unknown/unsupported storage engine: InnoDB 2017-12-28 17:09:44 25065 [ERROR] Aborting
  • Out of memory error: InnoDB:
    Fatal error: cannot allocate memory for the buffer pool
  • InnoDB can’t start without enough memory
    [ERROR] Plugin ‘InnoDB’ init function returned error.
    [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
    [ERROR] Unknown/unsupported storage engine: InnoDB
    [ERROR] Aborting
  • mysqld is shutting down, which in this context, really means failing to restart!
    [Note] /usr/sbin/mysqld: Shutdown complete

ok,明白了嗎?
於是繼續,來看看記憶體佔用情況:

[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            992         435         413           1         142         403
Swap:             0           0           0

顯然,結果很磕饞。記憶體僅413M,而且沒有 Swap 分割槽。

那麼問題來了,mysql 啟動到底需要多少記憶體?

官網是這什麼回答的:

MySQL allocates buffers and caches to improve performance of database operations. The default configuration is designed to permit a MySQL server to start on a virtual machine that has approximately512MB of RAM. You can improve MySQL performance by increasing the values of certain cache and buffer-related system variables. You can also modify the default configuration to run MySQL on systems with limited memory.

於是,那麼有什麼辦法可以小記憶體啟動 mysql 嗎?

答案是有,

vim /etc/my.cnf

新增:

performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128

ok,再次執行 service mysqld restart ,沒什麼問題。

相關推薦

記憶體不足mysql 導致啟動失敗

問題:mysql 啟動報錯 [[email protected] ~]# service mysqld restart MySQL server PID file could not be found! [FAI

CentOS下mysql服務啟動失敗

失敗 問題 情況 rest mys 情況下 文件清空 bsp centos mysql服務啟動失敗,可以使用排除法查找原因: 如果修改了my.cnf後重啟mysql服務失敗,大多數情況下都是配置文件有錯誤, 可以通過備份原來的配置文件,然後將配置文件清空,只剩下[mysql

啟動eclipse工程導致啟動失敗

  檢視工程下日誌,發現報錯,資訊如下: !ENTRY org.eclipse.oomph.ui 2 0 2016-12-12 09:24:16.730 !MESSAGE Widget is disposed !STACK 0 org.eclipse.swt.SWTE

ThinkPHP3.2 記憶體不足導致伺服器掛機

最近專案中,執行tp專案的apache伺服器更加頻繁的宕機,今天查閱了下資料,說這個記憶體不足導致的。 形成原因:thinkphp在程序執行過程中,會觸發記錄日誌(log.class.php的record的方法),在記錄系統日誌時,thinkphp先是給所有日誌資訊記錄在記憶體裡(log.class.php

Kafka啟動顯示記憶體不足修改記憶體

I am using DigiOcean instance with 512 megs of ram, I get the below error with kafka. I am not a java proficient dev. How do I adjust kafka to utilize th

本地安裝了mysql導致xampp的mysql服務啟動失敗

由於本地安裝了mysql導致xampp裡面的mysql啟動失敗問題原因,在啟動的xampp的mysql時啟動了本地的mysql解決方法 :修改mysql的登錄檔1.開啟cmd  輸入regedit自動彈出2.找到mysql這個位置 如下圖點選修改ImagePath3.修改為x

阿裏雲CentOS 7.2 MySQL服務啟動失敗的解決思路

阿裏雲 centos 7.2 mysql服務啟動失敗的解決思路阿裏雲 CentOS 7.2 MySQL服務啟動失敗的解決思路前言 :昨天剛剛搭建好的MySQL讓老大看了一下,經過測試已經完成任務。但是今天早晨來的時候發現服務器被關了,此時我的心情崩潰的,但是我非常冷靜的解決了MySQL問題。如下:啟動MySQ

解決php工具箱(phpStudy)Apache啟動成功MySql無法啟動的問題

php工具箱 mysql無法啟動 今天花了兩個多小時的時間給別人搗鼓php工具箱,自己都很驚訝。 由於xampp中的不太適合新手剛開始學php使用,所以我給她安裝了php工具箱,這是個可以切換版本的軟件,我很推薦,而且不需要配置! 不過很讓人頭疼的是Apache正常啟動,,MySql就是無法啟動,百度

Spring配置文件xsi:schemaLocation無法解析導致啟動失敗的解決方案

解析 線上 png 16px 沒有 不能 圖片 ima cati   今天遇到過情況,spring的配置文件在本地讀取沒有問題,扔到線上服務器運行就報無法解析xml,找了很久問題,發現是因為線上服務器無法上網,導致無法下載相關的xsd文件,沒辦法不能上網就只有使用本地的xs

Haproxy—缺少/run/haproxy目錄haproxy服務啟動失敗

haproxy問題描述:搭建haproxy的機器,因出現故障重啟了,然後發現haproxy服務出現異常。重新啟動haproxy服務的時候出現下面的錯誤: [root@dev115 log]# service haproxy start Starting haproxy (via systemctl): Jo

97: Address family not supported by protocolnginx服務啟動失敗

soc wid image protoc toc gin file 技術 14. 1、啟動nginx服務報錯 環境:centos 6.9,yum安裝的nginx,啟動報錯 [root@lnmp ~]# nginx -tnginx: the configuration fil

VMWare 複製虛擬機器系統後模組“Disk”啟動失敗

1、找到虛擬機器所在的目錄        將 .vmx檔案開啟      將檔案vmci0.present = "TRUE" 改為 vmci0.present = "FALSE" 2、刪除以.lck為字尾名的資料夾 3、重

64位word2013 Excel 2013提示記憶體不足PowerPoint 2013無法開啟檔案的一個解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

linux記憶體不足swap交換分割槽建立

為什麼需要swap 根 據Redhat公司的建議,Linux系統swap分割槽最適合的大小是實體記憶體的1-2倍.不過Linux上有些軟體對swap分割槽得需求較大,例如要順 利執行Oracle資料庫軟體,swap分割槽至少需要400MB或者實體記憶體2倍以上的空間.當然我們在安裝Linux的時候,就能直接

Mysql容器啟動失敗-解決方案

conf mage 重要 als 查看 director 一次 ops star 在看問題之前首先熟悉幾個命令 相關命令 1.docker attach 連接到正在運行中的容器; 命令:docker attach --sig-proxy=false mynginx

伺服器宕機mysql無法啟動job for mysql.service failed because the process exited with error code資料庫備份與恢復

[問題現象] 伺服器在執行過程中,因人為意外導致電源被拔,伺服器宕機,mysql重啟不成功,報錯如下 根據提示,輸入systemctl status mysql.service和journalctl -xe檢視日誌,經過一番百度谷歌折騰也是無果。(很多時候,不能因為突發事件就“病急亂投醫”) &nb

Server Tomcat v9.0 Server at localhost failed to start.誤刪檔案導致啟動失敗

網上有一系列的解決方案,試了都沒用,一看報錯資訊是清理垃圾時誤刪了某些檔案導致啟動失敗,還原檔案步驟如下 1,myeclipse>preferences>Servers>Runtime Environment 2,把以前的tomcat 9.0移除&n

Linux記憶體不足新增swap分割槽

Linux記憶體不足,新增swap分割槽 swap分割槽屬於交換分割槽,起虛擬記憶體的作用。由於記憶體資源的寶貴,於是將硬碟的一部分作為記憶體來使用。所以在記憶體不足的時候,就可以通過適當的增加交換分割槽大小來達到增加記憶體的作用。 在編譯mysql5.7.23的時候,購買的伺服器記

maven jar包衝突引起tomcat啟動失敗

在執行xxl-job的,並使用maven外掛啟動tomcat時,報了這樣一個錯, Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run (default-cli)

MySQL資料庫啟動失敗解決

重啟伺服器後-->重啟應用服務(Confluence)-->報錯,資料庫連線失敗(MySQL設定了開機自啟動)-->檢視MySQL資料庫狀態: [[email protected] www.linuxidc.com ~]# ps -ef | grep mys