首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.1.46 啟用 InnoDB 引擎踩坑記:插件初始化失敗與 ibdata 重建

     編輯:MySQL 綜合教學

環境

  • 系統:CentOS 5.4
  • 包:MySQL-server-community-5.1.46、MySQL-client-community-5.1.46、MySQL-shared-compat-5.1.37

嘗試啟用 InnoDB

編輯 /etc/my.cnf 添加:

default-storage-engine=innodb
default-table-type=innodb
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

啟動失敗,日志提示錯誤。

排查

mysql> SHOW VARIABLES LIKE 'have_%';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| have_innodb        | NO    |  <-- 關鍵:不支援
...

嘗試安裝插件

mysql> INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so';
ERROR 1123 (HY000): Can't initialize function 'InnoDB'; Plugin initialization function failed.

解決方案:重建系統表空間文件

  1. 停止 MySQL。
  2. 備份並重命名舊文件:
mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1.bak
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak
  1. 啟動 MySQL,系統自動生成新的 ibdata1、ib_logfile*。
  2. 再次 INSTALL PLUGIN InnoDB ... 即可成功。

經驗總結

  • MySQL 5.1 系列 InnoDB 為插件形式,需顯式安裝。
  • 舊版本升級或遷移時,ibdata1 格式不兼容常導致插件初始化失敗,刪除/重命名讓服務器重建是通用解法。
  • 生產環境操作前務必備份數據目錄。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved