Mysql
1286 - 未知的儲存引擎“InnoDB”
我正在嘗試使用圓形立方體,它最近剛剛壞了。我不知道這是否是由於最近發生的 MySQL 更新,但在 phpMyAdmin 中,如果我嘗試查看表,則會收到以下錯誤:
1286 - Unknown storage engine 'InnoDB'
和
mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MyISAM | DEFAULT | MyISAM storage engine | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 8 rows in set (0.00 sec)
和
[mysqld] default-storage-engine=MyISAM local-infile=0 symbolic-links=0 skip-networking max_connections = 500 max_user_connections = 20 key_buffer = 512M myisam_sort_buffer_size = 64M join_buffer_size = 64M read_buffer_size = 12M sort_buffer_size = 12M read_rnd_buffer_size = 12M table_cache = 2048 thread_cache_size = 16K wait_timeout = 30 connect_timeout = 15 tmp_table_size = 64M max_heap_table_size = 64M max_allowed_packet = 64M max_connect_errors = 10 query_cache_limit = 1M query_cache_size = 64M query_cache_type = 1 low_priority_updates=1 concurrent_insert=ALWAYS log-error=/var/log/mysql/error.log tmpdir=/home/mysqltmp myisam_repair_threads=4 [mysqld_safe] open_files_limit = 8192 log-error=/var/log/mysql/error.log [mysqldump] quick max_allowed_packet = 512M [myisamchk] key_buffer = 64M sort_buffer = 64M read_buffer = 16M write_buffer = 16M
關於如何修復的想法?它曾經工作得很好。
觀察結果
- 我看到
my.cnf
.- 在錯誤日誌中查找說明 mysqld 啟動失敗的原因的 Innodb 相關錯誤消息。
我的第一個猜測是查看
ib_logfile0
andib_logfile1
in/var/lib/mysql
。如果它們被設置為與預設值不同的大小,那可能會阻止 mysqld 的啟動。innodb_log_file_size的預設值為 5M。
建議 #1
如果 RoundCube 的安裝覆蓋了
my.cnf
.,請查看您是否有之前的my.cnf
. 把它放回原位並執行service mysql start
建議 #2
取文件大小
ib_logfile0
並除以 1048576。假設它是 12M。把它放進去
my.cnf
[mysqld] innodb_log_file_size = 12M
然後執行
service mysql start
試一試 !!!
只需刪除
ib_logfileX
文件並重新啟動mysql服務即可。您將
innodb-log-file-size
var 更改為比已在 mysql 守護程序中設置的更大的大小。