Mysql
My.cnf 中的一些 InnoDB 設置搞砸了一切,為什麼?
當我在文件管理器中編輯 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.cnfservice 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 實例支持的所有儲存引擎。對於您在該表上看到的錯誤,有以下三種可能性之一:
- InnoDB 未列為儲存引擎之一
- InnoDB 被標記為 DISABLED
- 表本身已損壞