Mysql

My.cnf 中的一些 InnoDB 設置搞砸了一切,為什麼?

  • May 24, 2012

當我在文件管理器中編輯 MySQL 5.0 中的 my.cnf 並添加以下設置時,我會自動從 Kloxo 註銷,當我刪除這些行並重新啟動伺服器時,一切正常:

innodb_buffer_pool_size = 50M
innodb_log_file_size = 15M

但是當我添加以下行並重新啟動時,我沒有問題並且已設置此設置:

bulk_insert_buffer_size=25M

為什麼會這樣?

PS:

我應該注意,Horde_groupware 數據庫有 innoDB 表,當一切都搞砸了,SELECT * FROM Horde_groupware.tblname我得到的錯誤是 .frm 文件中的錯誤資訊。

下次啟動mysql成功請執行這些

SHOW VARIABLES LIKE 'innodb_log_file_size';

這將顯示 InnoDB 日誌文件的大小。這些文件的名稱是(預設情況下)

  • /var/lib/mysql/ib_logfile0
  • /var/lib/mysql/ib_logfile1

為了更改 InnoDB 日誌文件的大小,您必須

  • 添加innodb_log_file_size = 15M到 my.cnf
  • service mysql stop
  • rm -f /var/lib/mysql/ib_logfile*
  • service mysql start(重新創建 InnoDB 日誌文件)

我之前寫過這個:如何安全地更改 MySQL innodb 變數’innodb_log_file_size’?

這將重新創建 InnoDB 日誌文件。

關於

我應該注意到 Horde_groupware 數據庫有 innoDB 表,當一切都搞砸了,我 SELECT * FROM Horde_groupware.tblname 我得到錯誤說 .frm 文件中的錯誤資訊。

如果Horde_groupware.tblname是 InnoDB 表並且您收到此錯誤,請執行以下命令:

SHOW ENGINES;

您應該會看到 mysql 實例支持的所有儲存引擎。對於您在該表上看到的錯誤,有以下三種可能性之一:

  1. InnoDB 未列為儲存引擎之一
  2. InnoDB 被標記為 DISABLED
  3. 表本身已損壞

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