mysql myisam轉innodb的2種方法

來源:互聯網
上載者:User

標籤:建立   tab   表結構   轉換方法   sql   utf8   /tmp   star   直接   

 mysql myisam轉innodb的2種方法

 

mysql中的myisam和innodb有什麼區別。一個好比便利店,一個好比大型購物中心,他們是為了適應不同的場合而存在的。當流量比較小,我們可以用myisam,當流量大時,我們可能會把資料庫中的,全部表或者部分錶轉換成innodb。下面說2種切實可行的方法來完成這種轉換。

 

一,用alter table來實現。

  1. mysql> alter table merchant engine=innodb; 

轉換方法很簡單。myisam在磁碟上的儲存有三個檔案,.MYD,.MYI,.frm檔案,轉換後這三個檔案會不會消失呢?innodb中共用資料表空間或者獨立資料表空間會不增加呢?

  1. [[email protected] test]# ls |grep merhcant|xargs -i du {}  
  2. 12       merchant.frm  
  3. 690       merchant.MYD  
  4. 144       merchant.MYI  

上面是轉換前的檔案大小,轉換後.MYD,.MYI消失了。而innodb的共用資料表空間增加8M.

  1. [[email protected] data]# ls |grep ibdata |xargs -i du -m {}  
  2. 10      ibdata1   //轉換前的  
  3.   
  4. [[email protected] data]# ls |grep ibdata |xargs -i du -m {}  
  5. 18      ibdata1   //轉換後的  

mysql表在磁碟上的儲存方式的轉換,並不要額外的去轉換。這樣比較方便。innodb在這裡我設定的是共用資料表空間,這次轉換的表的大小不超過1M,但共用資料表空間自動增加了8M,所以共用資料表空間的大小,並不是按照表的大小來增加的,是有基數的。我們可以通過innodb_autoextend_increment來設定

二,匯出資料,重建立表

1,匯出表結構以及資料,刪除老表,重建立表

  1. //方法1,我們可以把把建立這個表的sql拷貝出來,把ENGINE=MyISAM換成,ENGINE=INNODB  
  2. mysql> show create table merchant\G;  
  3. *************************** 1. row ***************************  
  4.  Table: merchant  
  5. Create Table: CREATE TABLE `merchant` (  
  6.  `btid` int(5) unsigned zerofill NOT NULL auto_increment,  
  7.  `btname` varchar(100) NOT NULL,  
  8.  `btnote` text,  
  9.  PRIMARY KEY  (`btid`),  
  10.  UNIQUE KEY `btname` (`btname`)  
  11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8  
  12. 1 row in set (0.00 sec)  
  13.   
  14. //方法2,直接匯出表結構,在檔案裡面替換一個myisam  
  15. mysqldump -udba -p -d test merchant >/tmp/test/mytest/merchant.sql;  

2,匯出資料

  1. mysqldump -udba -p --no-create-info test merchant >/tmp/test/mytest/merchant_data.sql;  

3,刪除老表,重建立表,匯入資料,這個就不說了linux 簡單的mysql備份和匯入,以及檔案的備份和匯入

mysql myisam轉innodb的2種方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.