亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL中表的復制以及大型數據表的備份教程

2024-07-24 13:08:12
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了MySQL中表的復制以及大型數據表的備份教程,其中大表備份是采用添加觸發器增量備份的方法,需要的朋友可以參考下

表復制

mysql拷貝表操作我們會常常用到,下面就為您詳細介紹幾種mysql拷貝表的方式,希望對您學習mysql拷貝表方面能夠有所幫助。

假如我們有以下這樣一個表:

 

 
  1. id username password  
  2. -----------------------------------  
  3. 1 admin *************  
  4. 2 sameer *************  
  5. 3 stewart ************* 

 

 
  1. CREATE TABLE IF NOT EXISTS `admin` (  
  2. `id` int(6) unsigned NOT NULL auto_increment,  
  3. `username` varchar(50) NOT NULL default '',  
  4. `password` varchar(100) default NULL,  
  5. PRIMARY KEY (`id`)  
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;  

1. 下面這個語句會拷貝表結構到新表newadmin中。 (不會拷貝表中的數據)

CREATE TABLE newadmin LIKE admin

2. 下面這個語句會拷貝數據到新表中。 注意:這個語句其實只是把select語句的結果建一個表。所以newadmin這個表不會有主鍵,索引。

 

 
  1. CREATE TABLE newadmin AS 
  2. (  
  3. SELECT *  
  4. FROM admin  
  5. )  

3. 如果你要真正的復制一個表??梢杂孟旅娴恼Z句。

 

 
  1. CREATE TABLE newadmin LIKE admin;  
  2. INSERT INTO newadmin SELECT * FROM admin;  

4. 我們可以操作不同的數據庫。

 

 
  1. CREATE TABLE newadmin LIKE shop.admin;  
  2. CREATE TABLE newshop.newadmin LIKE shop.admin; 

5. 我們也可以拷貝一個表中其中的一些字段。

 

 
  1. CREATE TABLE newadmin AS 
  2. (  
  3. SELECT username, password FROM admin  
  4. )  

6. 我們也可以講新建的表的字段改名。

 

 
  1. CREATE TABLE newadmin AS 
  2. (  
  3. SELECT id, username AS uname, password AS pass FROM admin  
  4. )  

7. 我們也可以拷貝一部分數據。

 

 
  1. CREATE TABLE newadmin AS 
  2. (  
  3. SELECT * FROM admin WHERE LEFT(username,1) = 's' 
  4. )  

8. 我們也可以在創建表的同時定義表中的字段信息。

 

 
  1. CREATE TABLE newadmin  
  2. (  
  3. id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY 
  4. )  
  5. AS 
  6. (  
  7. SELECT * FROM admin  
  8. )  

MySQL大表備份

這里所說的大表是超過4G以上的表,我目前見到過最大為60多G的單表,對于這種表每天一個全備可以說是一件很痛苦的事。

那么有沒有辦法,可以實現一個全備加增量的備份呢。

答案當然是有的。

在常規環境直可以用全備加binlog一同保存。

這種環境大多可以用一個Slave上進行備份操作。

思路:

先停止Slave的同步,刷新buffer,對于Innodb 如果想直接拷貝還需要把innodb_max_dirty_pages_pct這個值置為零,然后在執行一次flush tables;

就可以cp了。如果是Dump出來可以這這樣做。

這個方案目前來看也是比較完美的,但一個并發力度大的應用一天的Binlog有可能能達到50G-60G,這樣的系統開Binlog可以說是對系統的IO性能及整體性能都有早影響。

另一種方案就是基于表的上數據的羅輯變化進行備份。

主體思想:全備加邏輯備份。

邏輯備份:當有數據插入時,利用觸發器同時寫入另一個表,當數據更新時,我們同時記錄一下,更新后的數據情況到另一個表。

當有刪除操作時,只需要記錄一下,刪除的主建ID就行。

例子:

要備份的表:

 

 
  1. CREATE TABLE `wubx` ( `id` int(11) NOT NULL auto_increment,  
  2. `user_id` int(11) NOT NULL default '0',  
  3. `friend_id` int(11) NOT NULL default '0',  
  4. `dir_id` int(11) NOT NULL default '0',  
  5. `created` int(11) NOT NULL default '0',  
  6. UNIQUE KEY `id` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

對于這個表我們需要建一個記錄有新數據變化的表為:

 

 
  1. mysql> create table wubx_ii like wubx;  
  2. Query OK, 0 rows affected (0.00 sec)  
  3.  
  4. mysql> create table wubx_uu like wubx;  
  5. Query OK, 0 rows affected (0.00 sec)  
  6. mysql> create table wubx_dd ( id int(11));  
  7. Query OK, 0 rows affected (0.00 sec)  

建立相應的觸發程器

記錄insert的操作:

 

 
  1. delimiter //  
  2. create trigger wubx_ii after insert on wubx for each row begin insert into wubx_ii set id=new.id,user_id=new.user_id,friend_id=new.friend_id,dir_id=new.dir_id,created=new.created; end//  

記錄update的操作:

 

 
  1. create trigger wubx_uu after update on wubx for each row begin replace into wubx_uu set id=new.id,user_id=new.user_id,friend_id=new.friend_id,dir_id=new.dir_id,created=new.created; end//  

記錄刪除的操作:

 

 
  1. create trigger wubx_dd after delete on wubx for each row begin insert into wubx_dd values(old.id); end//  
  2.  
  3. delimiter ;  

操作:

先備份原始表wubx里的數據:

進行:

 

 
  1. insert into wubx values(”,1,10,1,1198464252);  
  2. insert into wubx values(”,1,11,1,1198464252);  
  3. insert into wubx values(”,1,2,1,1198464252);  
  4. insert into wubx values(”,2,10,1,1198464252);  
  5. insert into wubx values(”,2,12,1,1198464252);  
  6. insert into wubx values(”,3,12,1,1198464252);  
  7. update wubx set dir_id=5 where user_id=3;  
  8. update wubx set dir_id=4 where user_id=3;  
  9. delete from wubx where user_id=2 and friend_id=12;  

現在要實現增量備份:

取出insert的操作:

 

 
  1. mysql -e ” select concat(‘replace into wubx set id=',id,',user_id=',user_id,',friend_id=',friend_id,',dir_id=',dir_id,',created=',created,';') from wubx_ii;”>>backup_ii.sql  

取出update的操作:

 

 
  1. mysql -e ” select concat(‘update wubx set user_id=',user_id,',friend_id=',friend_id,',dir_id=',dir_id,',created=',created,' where id=',id,';') from wubx_uu;”>>backup_uu.sql  

取出delete的操作:

 

 
  1. mysql -e “select concat(‘delete from wubx where id=',id,';') from wubx_dd”>>backup_dd.sql  

這樣利用這些邏輯的備份加是完畢備份恢復到當前恢復點就很容易了。這里不演示。

這個操作最好用一個程序完成,當取完羅輯備份后,做一個標記點去清楚備份完的數據,以保證,邏輯記錄表里的數據量比較少是正確的。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品福利资源站| 成人国产精品免费视频| 中文字幕亚洲欧美在线| 国内精品模特av私拍在线观看| 蜜臀久久99精品久久久久久宅男| 国内免费精品永久在线视频| 欧美成人免费播放| 欧美怡春院一区二区三区| 69久久夜色精品国产7777| 欧美综合一区第一页| 欧美色xxxx| 免费成人高清视频| 精品久久久久久久久久久久| 亚洲国产精品热久久| 日韩免费观看在线观看| 国产精品色午夜在线观看| 亚洲最新在线视频| 欧美色视频日本高清在线观看| 亚洲自拍偷拍在线| 亚洲成人精品在线| 久久精品视频播放| 亚洲最大成人免费视频| 亚洲国产成人精品久久| 成人伊人精品色xxxx视频| 久久精品国产一区二区三区| 久久久噜噜噜久久| 精品国产户外野外| 黑人狂躁日本妞一区二区三区| 国产成+人+综合+亚洲欧美丁香花| 国产精品久久久久久久久影视| 国产成人在线亚洲欧美| 日本人成精品视频在线| 精品国产91久久久久久老师| 色悠悠久久久久| 久久男人资源视频| 国产一区二区动漫| 亚洲aⅴ男人的天堂在线观看| 免费成人高清视频| 这里只有视频精品| 亚洲高清福利视频| 成人欧美一区二区三区黑人| 久久国产精品久久久久| 欧美大片免费观看在线观看网站推荐| 国产精品一区二区三区毛片淫片| 日韩视频一区在线| 午夜免费日韩视频| 精品久久中文字幕久久av| 国产成人午夜视频网址| 国产欧美婷婷中文| 欧美日韩视频在线| 不卡中文字幕av| 视频在线观看一区二区| 91夜夜揉人人捏人人添红杏| 久久亚洲精品一区| 欧美丝袜美女中出在线| 亚洲情综合五月天| 欧美成人黑人xx视频免费观看| 国产精品视频在线播放| 成人欧美一区二区三区在线湿哒哒| 欧美精品国产精品日韩精品| 国产日产亚洲精品| 日韩在线播放av| 情事1991在线| 91国内揄拍国内精品对白| 中文字幕最新精品| 97精品视频在线| 欧美裸体xxxxx| 亚洲欧美在线免费| 欧美午夜精品伦理| 久久中文字幕国产| 最好看的2019年中文视频| 国产97在线观看| 在线观看国产精品日韩av| 国产精品中文在线| 欧美激情视频免费观看| 欧美激情性做爰免费视频| 欧美久久精品午夜青青大伊人| 九九九久久国产免费| 亚洲欧美日韩久久久久久| 日韩中文字幕精品| 欧美一级视频一区二区| 在线国产精品播放| 亚洲国产日韩欧美在线图片| 亚洲欧美制服丝袜| 成人精品久久一区二区三区| 亚洲精品美女在线观看| 日韩av综合网| 97视频在线观看视频免费视频| 亚洲精品wwwww| 91精品国产自产在线老师啪| 性色av香蕉一区二区| 国产亚洲精品美女久久久久| 国产成人综合精品| 欧美有码在线观看视频| 亚洲国产精品资源| 中文字幕精品久久久久| 亚洲精品小视频在线观看| 国产精品视频一| 亚洲精品资源美女情侣酒店| 亚洲成年网站在线观看| 午夜精品久久久久久久久久久久| 在线日韩av观看| 国产精品大陆在线观看| 91免费的视频在线播放| 亚洲福利视频久久| 国内伊人久久久久久网站视频| 亚洲综合第一页| 亚洲老板91色精品久久| 成人免费视频xnxx.com| 亚洲电影在线看| 欧美孕妇孕交黑巨大网站| 精品av在线播放| 欧美精品九九久久| 欧美精品999| 国产成人精品一区二区| 国产成人高清激情视频在线观看| 精品偷拍各种wc美女嘘嘘| 久久久av亚洲男天堂| 亚洲欧美国产一区二区三区| 黑人极品videos精品欧美裸| 欧美第一页在线| 97视频com| 亚洲一区二区三区四区在线播放| 国产欧美日韩最新| 国产日韩精品在线| 欧美小视频在线| 欧美精品18videosex性欧美| 欧美成人一区二区三区电影| 色偷偷9999www| 欧美在线观看网站| 久久久噜久噜久久综合| 免费不卡欧美自拍视频| 综合激情国产一区| 国产精品美女999| 91久久久久久久久久久| 欧洲美女免费图片一区| 高清欧美电影在线| 精品久久久久久中文字幕大豆网| 亚洲日本欧美日韩高观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 成人午夜小视频| 精品视频www| 亚洲福利精品在线| 欧美与黑人午夜性猛交久久久| 超碰97人人做人人爱少妇| 久久精品一本久久99精品| 国产视频精品自拍| 午夜精品视频网站| 国内精品久久久久影院 日本资源| 国产美女久久精品香蕉69| 欧美日韩国产丝袜另类| 国产精品久久久久久久久久久久久| 欧美日韩免费在线| 亚洲精品一区av在线播放| 国产成人精品在线视频| 亚洲福利视频网站| 欧洲成人免费视频| 97精品视频在线| 国产精品久久久久高潮| 91久久久久久久久久久| 成人在线国产精品| 欧美性猛交99久久久久99按摩| 久久在线视频在线| 国产91精品在线播放|