最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程

 更新時間:2015年11月25日 14:23:07   投稿:goldensun  
這篇文章主要介紹了MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程,其中大表備份是采用添加觸發(fā)器增量備份的方法,需要的朋友可以參考下

表復(fù)制
mysql拷貝表操作我們會常常用到,下面就為您詳細介紹幾種mysql拷貝表的方式,希望對您學(xué)習(xí)mysql拷貝表方面能夠有所幫助。

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

id   username  password 
----------------------------------- 
1    admin    ************* 
2    sameer   ************* 
3    stewart   *************

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

1. 下面這個語句會拷貝表結(jié)構(gòu)到新表newadmin中。 (不會拷貝表中的數(shù)據(jù))

CREATE TABLE newadmin LIKE admin 
 
2. 下面這個語句會拷貝數(shù)據(jù)到新表中。 注意:這個語句其實只是把select語句的結(jié)果建一個表。所以newadmin這個表不會有主鍵,索引。

CREATE TABLE newadmin AS  
(  
SELECT *  
FROM admin  
) 

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

CREATE TABLE newadmin LIKE admin;  
INSERT INTO newadmin SELECT * FROM admin; 

 
4. 我們可以操作不同的數(shù)據(jù)庫。

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

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

CREATE TABLE newadmin AS  
(  
SELECT username, password FROM admin  
) 

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

CREATE TABLE newadmin AS  
(  
SELECT id, username AS uname, password AS pass FROM admin  
) 

 
7. 我們也可以拷貝一部分?jǐn)?shù)據(jù)。

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

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

CREATE TABLE newadmin  
(  
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY  
)  
AS  
(  
SELECT * FROM admin  
) 

MySQL大表備份
這里所說的大表是超過4G以上的表,我目前見到過最大為60多G的單表,對于這種表每天一個全備可以說是一件很痛苦的事。
那么有沒有辦法,可以實現(xiàn)一個全備加增量的備份呢。
答案當(dāng)然是有的。

在常規(guī)環(huán)境直可以用全備加binlog一同保存。
這種環(huán)境大多可以用一個Slave上進行備份操作。

思路:
先停止Slave的同步,刷新buffer,對于Innodb 如果想直接拷貝還需要把innodb_max_dirty_pages_pct這個值置為零,然后在執(zhí)行一次flush tables;
就可以cp了。如果是Dump出來可以這這樣做。

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

另一種方案就是基于表的上數(shù)據(jù)的羅輯變化進行備份。
主體思想:全備加邏輯備份。
邏輯備份:當(dāng)有數(shù)據(jù)插入時,利用觸發(fā)器同時寫入另一個表,當(dāng)數(shù)據(jù)更新時,我們同時記錄一下,更新后的數(shù)據(jù)情況到另一個表。
當(dāng)有刪除操作時,只需要記錄一下,刪除的主建ID就行。

例子:
要備份的表:

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

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

mysql> create table wubx_ii like wubx; 
Query OK, 0 rows affected (0.00 sec) 
 
mysql> create table wubx_uu like wubx; 
Query OK, 0 rows affected (0.00 sec) 
mysql> create table wubx_dd ( id int(11)); 
Query OK, 0 rows affected (0.00 sec) 

 
建立相應(yīng)的觸發(fā)程器

記錄insert的操作: 

delimiter // 
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的操作: 

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// 

記錄刪除的操作:  

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

 
操作:
先備份原始表wubx里的數(shù)據(jù):
進行:

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

現(xiàn)在要實現(xiàn)增量備份:
取出insert的操作:

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的操作:

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的操作:

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

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

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

相關(guān)文章

  • 安裝python-docx后,無法在pycharm中導(dǎo)入的解決方案

    安裝python-docx后,無法在pycharm中導(dǎo)入的解決方案

    這篇文章主要介紹了安裝python-docx后,無法在pycharm中導(dǎo)入的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳細解讀Python中的json操作

    詳細解讀Python中的json操作

    json操作是最為基本的、最為常用的,Python自帶的json模塊就可以滿足大部分應(yīng)用場景,而且使用起來極為簡單,下面這篇文章主要給大家介紹了關(guān)于Python中json操作的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python元組定義及集合的使用

    Python元組定義及集合的使用

    這篇文章主要介紹了Python元組定義及集合的使用,元組是Python中的一個內(nèi)置的數(shù)據(jù)結(jié)構(gòu),它是一個不可變的序列,所謂的不可變序列就是不可以進行增刪改的操作
    2022-07-07
  • 利用Python進行全面的GPU環(huán)境檢測與分析

    利用Python進行全面的GPU環(huán)境檢測與分析

    這篇文章主要為大家詳細介紹了如何使用Python編寫一個強大的 GPU 診斷工具,它能夠全面收集和分析系統(tǒng)中的 GPU 相關(guān)信息,感興趣的可以了解下
    2025-01-01
  • Python之變量類型詳解

    Python之變量類型詳解

    這篇文章主要介紹了Python之變量類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python numpy數(shù)組復(fù)制使用實例解析

    python numpy數(shù)組復(fù)制使用實例解析

    這篇文章主要介紹了python numpy數(shù)組復(fù)制使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 詳解python數(shù)值與字符串高級用法

    詳解python數(shù)值與字符串高級用法

    這篇文章主要介紹了python數(shù)值與字符串高級用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • python實現(xiàn)word/excel/ppt批量轉(zhuǎn)pdf的示例代碼

    python實現(xiàn)word/excel/ppt批量轉(zhuǎn)pdf的示例代碼

    這篇文章主要為大家詳細介紹了如何利用python實現(xiàn)word、excel、ppt批量轉(zhuǎn)pdf文件,文中的示例代碼講解詳細,有需要的小伙伴可以參考下
    2023-09-09
  • 解決pytorch DataLoader num_workers出現(xiàn)的問題

    解決pytorch DataLoader num_workers出現(xiàn)的問題

    今天小編就為大家分享一篇解決pytorch DataLoader num_workers出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)

    Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)

    與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動,這里我們就來整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):
    2016-07-07

最新評論

法库县| 兰考县| 梓潼县| 若羌县| 于田县| 琼中| 阳城县| 浦县| 徐水县| 简阳市| 栖霞市| 南乐县| 乌苏市| 宁远县| 浏阳市| 九寨沟县| 株洲市| 铜鼓县| 丹东市| 吉水县| 乃东县| 肥东县| 阿尔山市| 长泰县| 蒙山县| 霍邱县| 达日县| 涞水县| 来安县| 永和县| 宁津县| 张北县| 麻城市| 黄冈市| 元江| 延津县| 屏东市| 石城县| 文化| 浑源县| 化隆|