Innodb

Mysqli 準備錯誤:未知儲存引擎“InnoDB”

  • September 16, 2015

我在安裝 XenForo 時遇到此錯誤。伺服器日誌顯示記憶體不足,因為打開了太多的 php 程序導致 mysqld 關閉。與 MyISAM 關聯的 WordPress 安裝工作正常。一旦我重新啟動了 mysql 服務,錯誤就會消失。我無法解決問題。將不勝感激一些輸入!

MySQL 日誌:

..上面有更多類似的錯誤..
150117 20:18:56 [錯誤] 無法找到或打開表 wpdb/wp_wpsa_subscribe_author
InnoDB 的內部數據字典通過 .frm 文件
表存在。也許你已經刪除並重新創建了 InnoDB 數據
文件但忘記刪除對應的 .frm 文件
的 InnoDB 表,或者您已將 .frm 文件移動到另一個數據庫?
或者,該表包含此版本引擎的索引
不支持。

150117 21:24:38 [警告] IP 地址“222.186.15.72”無法解析:名稱或服務未知
150117 21:38:35 mysqld_safe 現在正在執行的程序數:0
150117 21:38:35 mysqld_safe mysqld 重啟
150117 21:38:38 [注意] 外掛 'FEDERATED' 已禁用。
150117 21:38:38 InnoDB:InnoDB 記憶體堆被禁用
150117 21:38:38 InnoDB:互斥鎖和 rw_locks 使用 GCC 原子內置函式
150117 21:38:38 InnoDB:壓縮表使用 zlib 1.2.3
150117 21:38:38 InnoDB:使用Linux原生AIO
150117 21:38:39 InnoDB:初始化緩衝池,大小 = 119.0M
InnoDB:mmap(127713280 字節)失敗;錯誤號 12
150117 21:38:39 InnoDB:緩衝池初始化完成
150117 21:38:39 InnoDB:致命錯誤:無法為緩衝池分配記憶體
**150117 21:38:39 [錯誤] 外掛“InnoDB”初始化函式返回錯誤。
150117 21:38:39 [錯誤] 外掛“InnoDB”註冊為儲存引擎失敗。**
150117 21:38:39 [注意] 伺服器主機名(綁定地址):'0.0.0.0'; 埠:3306
150117 21:38:39 [注意] - '0.0.0.0' 解析為 '0.0.0.0';
150117 21:38:39 [注意] 在 IP 上創建的伺服器套接字:'0.0.0.0'。
150117 21:38:40 [注意] 事件調度程序:載入了 0 個事件
150117 21:38:40 [注意] /usr/sbin/mysqld:準備連接。
版本:'5.5.40-cll' 套接字:'/var/lib/mysql/mysql.sock' 埠:3306 MySQL 社區伺服器(GPL)
150117 21:38:40 [錯誤] /usr/sbin/mysqld: 表 './wpdb/wp_wfConfig' 被標記為崩潰,應該修復
150117 21:38:40 [錯誤] /usr/sbin/mysqld: 表 './wpdb/wp_wfConfig' 被標記為崩潰,應該修復
...更多類似的錯誤如下..

/var/log/messages 的日誌顯示打開的 PHP 程序負載(50+)和伺服器記憶體不足,關閉 mysqld。我找不到任何會使這麼多程序停滯的東西。崩潰發生之前的mysql錯誤 - “找不到或打開表”是否會導致錯誤?

錯誤:: mmap(127713280 bytes) failed; errno 12沒有足夠的記憶體來啟動服務:

可能的解決方案:

  • 添加交換頁面
  • 檢查innodb_buffer_pool_size值可能太低而無法啟動服務或伺服器太高

之後嘗試刪除 ib_logfile# 然後啟動服務

引用自:https://dba.stackexchange.com/questions/89636