mysql中的myisam和innodb有什麼區別,在這兒就不哆嗦了。乙個好比便利店,乙個好比大型購物中心,他們是為了適應不同的場合而存在的。當流量比較小,我們可以用myisam,當流量大時,我們可能會把資料庫中的,全部表或者部分表轉換成innodb。下面說2種切實可行的方法來完成這種轉換。
一,用alter table來實現。
mysql> alter table merchant type=innodb;
query ok, 2806 rows affected, 1 warning (0.33 sec)
records: 2806 duplicates: 0 warnings: 0
轉換方法很簡單。myisam在磁碟上的儲存有三個檔案,.myd,.myi,.frm檔案,轉換後這三個檔案會不會消失呢?innodb中共享表空間或者獨立表空間會不增加呢?
[root@krlcgcms01 test]# ls |grep merhcant|xargs -i du {}
12 merchant.frm
690 merchant.myd
144 merchant.myi
上面是轉換前的檔案大小,轉換後.myd,.myi消失了。而innodb的共享表空間增加8m.檢視
複製列印
?[root@krlcgcms01 data]# ls |grep ibdata |xargs -i du -m {}
10 ibdata1 //轉換前的
[root@krlcgcms01 data]# ls |grep ibdata |xargs -i du -m {}
18 ibdata1 //轉換後的
mysql表在磁碟上的儲存方式的轉換,並不要額外的去轉換。這樣比較方便。innodb在這裡我設定的是共享表空間,這次轉換的表的大小不超過1m,但共享表空間自動增加了8m,所以共享表空間的大小,並不是按照表的大小來增加的,是有基數的。我們可以通過innodb_autoextend_increment來設定
二,匯出資料,重新建表
1,匯出表結構以及資料,刪除老表,重新建表
檢視複製列印?
//方法1,我們可以把把建立這個表的sql拷貝出來,把engine=myisam換成,engine=innodb
mysql> show create table merchant\g;
*************************** 1. row ***************************
table: merchant
create table: create table `merchant` (
`btid` int(5) unsigned zerofill not null auto_increment,
`btname` varchar(100) not null,
`btnote` text,
primary key (`btid`),
unique key `btname` (`btname`)
) engine=myisam default charset=utf8
1 row in set (0.00 sec)
//方法2,直接匯出表結構,在檔案裡面替換乙個myisam
mysqldump -udba -p -d test merchant >/tmp/test/mytest/merchant.sql;
2,匯出資料
mysqldump -udba -p --no-create-info test merchant >/tmp/test/mytest/merchant_data.sql;
3,刪除老表,重新建表,匯入資料,這個就不說了,linux
簡單的mysql備份和匯入,以及檔案的備份和匯入
mysql myisam轉innodb的2種方法
mysql中的myisam和innodb有什麼區別。乙個好比便利店,乙個好比大型購物中心,他們是為了適應不同的場合而存在的。當流量比較小,我們可以用myisam,當流量大時,我們可能會把資料庫中的,全部表或者部分表轉換成innodb。下面說2種切實可行的方法來完成這種轉換。一,用alter tabl...
mysql MYISAM表批量壓縮
關於對myisam表的壓縮,可以使用myisampack和myisamchk完成 myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是唯讀的 其詳細地用法可以參考官方文件 這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作 而且...
mysql MyISAM表的儲存格式
myisam支援三種不同的儲存格式 固定格式,動態格式,已壓縮格式 只能使用myisampack工具來建立 靜態表特徵 固定格式 靜態格式是myisam表的預設儲存格式。當表不包含變數長度列 varchar,blob,或text 時,使用這個格式。每一行用固定位元組數儲存。靜態格式是三種儲存格式中最...