MyISAM與InnoDB之間的切換

查看MySQL提供什么存儲引擎:

mysql> show engines;

查看MySQL當前默認的存儲引擎:

mysql> show variables like '%storage_engine%';

查詢wpsql庫

mysql> use wpsql;

列出當前庫所有表名

mysql> show tables;

你要看wp_posts表用了什么引擎(在顯示結果里參數(shù)engine后面的就表示該表當前用的存儲引擎):

mysql> show create table wp_posts;

將wp_posts表修為InnoDB存儲引擎(也可以此命令將InnoDB換為MyISAM):

mysql> ALTER TABLE wp_posts ENGINE=INNODB;
如果要更改整個數(shù)據(jù)庫表的存儲引擎,一般要一個表一個表的修改,比較繁瑣,可以采用先把數(shù)據(jù)庫導出,得到SQL,把MyISAM全部替換為INNODB,再導入數(shù)據(jù)庫的方式。

轉換完畢后重啟mysql

service mysqld restart

如果要把數(shù)據(jù)庫從MyISAM修改成InnoDB需要做以下工作:

因為MySQL沒有安裝或沒有使用InnoDB引擎,可以通過SQL命令查看引擎:

SHOW ENGINES;

結果如果是InnoDB| NO 說明未開啟。

如果沒有安裝,則需要打補丁,或重新安裝該模塊,如果安裝,可參考以下解決辦法。

檢查my.cnf配置(windows為my.ini):

如果出現(xiàn)“#skip-innodb”則將“#”去掉,重啟MySQL;

如果第一條無法解決,加上配置:default-storage-engine=InnoDB 再重啟MySQL。

如果第二條仍無法解決,則檢查InnoDB引擎的配置是否有:

innodb_data_file_path = ibdata1:200M:autoextend

innodb_buffer_pool_size = 2G

innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 256M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 120

這些配置參數(shù)根據(jù)本機實際情況配置。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容