萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL修改表存儲引擎安全做法

MySQL修改表存儲引擎安全做法

以前我講過直接使用ALTER TABLE my_table ENGINE=InnoDB來直接修改數據庫或表的存儲引擎了,這樣做可以成功但風險也較大,容易導致數據表損壞了,下面我來介紹比較安全的做法。

1.真接修改。在數據多的時候比較慢,而且在修改時會影響讀取性能。my_table是操作的表,innoDB是新的存儲引擎。

 代碼如下 復制代碼

ALTER TABLE my_table ENGINE=InnoDB2.

導出,導入。這個比較容易操作,直接把導出來的sql文件給改了,然後再導回去。用mysqldump ,楓哥常用的是navicate那樣更容易上手。友情提醒風險較大。

3.創建,插入。這個比第一種速度快, 安全性比第二種高,推薦。分2步操作

a.創建表,先創建一個和要操作表一樣的表,然後更改存儲引擎為目標引擎。   

 代碼如下 復制代碼

CREATE TABLE my_tmp_table LIKE my_table;
ALTER TABLE my_tmp_table ENGINE=InnoDB; 

b.插入。為了安全和速度,最好加上事務,並限制id(主鍵)范圍。

 代碼如下 復制代碼

INSERT INTO my_tmp_table SELECT * FROM my_table;

好了MySQL修改表存儲引擎做法就到這裡了,最後的方法是利用臨時表來做,當然如果你不想這樣做可以先備份好數據,然後再使用第一種辦法來修改哦。

copyright © 萬盛學電腦網 all rights reserved