大部分狀況下,使用用Percona XtraBackup進行整庫的備份和恢復比較容易,此處略去;
對於單表的恢復略有不一樣,並且對數據庫版本和Percona XtraBackup的版本都有限制
侷限性:
1.源庫MySQL版本無要求,但啓用了innodb_file_per_table=1
2.目的庫開啓innodb_file_per_table=1,Percona XtraDB或者MySQL5.6
官方要求開啓下面的兩個參數,但發現5.6沒有這樣的變量,沒去修改:innodb_expand_import=1(大於5.5.10-20.1版本)或innodb_import_table_from_xtrabackup=1(小於5.5.10-20.1版本)選項 php
源庫 :Percona-Server-5.5.28-rel29.3-388
目的庫:Percona-Server-5.6.16-rel64.2-569
備份工具 : percona-xtrabackup-2.2.4-5004 html
innobackupex --user=root --password=simlinux.com --defaults-file=/etc/my.cnf --include='se.searchaccount' --slave-info --safe-slave-backup --stream=tar /data/backup > /data/backup/searchaccount.tar.gz
[root@simlinux ~]#tar -ixf searchaccount.tar.gz -C /data/databak/ [root@simlinux ~]#innobackupex --apply-log --export /data/databak [root@simlinux ~]#ll /data/databak/se -rw-r--r-- 1 root root 3382 9月 13 13:57 searchaccount.cfg -rw-r--r-- 1 root root 16384 9月 13 13:57 searchaccount.exp -rw-rw---- 1 root root 23968 9月 13 13:40 searchaccount.frm -rw-rw---- 1 root root 2097152 9月 13 13:40 searchaccount.ibd
定義表--刪除表空間--拷貝*.ibd/*.cfg文件--導入表空間 mysql
CREATE TABLE `searchaccount` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `cid` mediumint(7) unsigned NOT NULL DEFAULT '0', `siteid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '帳號對應廣告監測站點(online.site.id)', `searchen` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '1: 百度 2: 谷歌 3:搜狗 4:搜搜', `oid` bigint(10) unsigned NOT NULL DEFAULT '0' COMMENT '對接帳號ID(如SOGOU後臺取得惟一ID)', `name` varchar(30) NOT NULL DEFAULT '' COMMENT '帳號名稱', `acountname` varchar(100) NOT NULL DEFAULT '' COMMENT '搜索帳號用戶名/郵箱', `certifiedname` varchar(50) NOT NULL DEFAULT '' COMMENT '百度V認證名稱', `acountpass` varchar(100) NOT NULL DEFAULT '' COMMENT '搜索帳號密碼', `accesstoken` varchar(100) NOT NULL DEFAULT '' COMMENT '360權限代碼', `budgettype` tinyint(1) NOT NULL DEFAULT '1' COMMENT '預算類型 1:日預算 2:周預算 0:不限制預算', `budget` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '賬號預算,google賬號須要用到', `weeklybudget` varchar(1024) NOT NULL DEFAULT '' COMMENT '周預算存儲的值', `erate` decimal(5,3) NOT NULL DEFAULT '0.000' COMMENT '匯率', `ispublic` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否經過審覈,0爲未經過,1爲經過', `servicerate` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '服務費比率', `krnum` mediumint(6) unsigned NOT NULL DEFAULT '0' COMMENT '百度關鍵字推薦API配額', `agent` tinyint(2) NOT NULL DEFAULT '0' COMMENT '代理公司 1:廣州 2:深圳', `authtoken` varchar(500) NOT NULL DEFAULT '' COMMENT 'google API authoken值', `tokenovertime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'authtoken的過時時間', `opendomains` varchar(220) NOT NULL DEFAULT '' COMMENT '網站開放域名,多個域名用,分隔', `excludeip` varchar(512) NOT NULL DEFAULT '' COMMENT '排除IP,以,分隔', `regions` varchar(2048) NOT NULL DEFAULT '' COMMENT '投放地區', `regionlevel` tinyint(1) NOT NULL DEFAULT '2' COMMENT '投放地域開通的級別 1級 2級', `campaigns` smallint(4) unsigned NOT NULL DEFAULT '0', `groups` smallint(5) unsigned NOT NULL DEFAULT '0', `creatives` mediumint(6) unsigned NOT NULL DEFAULT '0', `keywords` mediumint(7) unsigned NOT NULL DEFAULT '0', `dailyfee` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '平均天天消耗', `costbefore` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '帳號暫停前的消耗,用於統計賬號暫停前的消耗', `costpause` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '從新簽約時,將以前暫停統計到的消費(costbefore)累加到此字段', `balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '總帳戶餘額', `adwordsbalance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '搜索廣告餘額', `networkbalance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '網盟餘額', `reapi` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否須要從新所有同步api, 1所有同步,0不所有', `errorcode` char(32) NOT NULL DEFAULT '0' COMMENT '百度的錯誤代碼爲數字類型;谷歌的爲大寫字符串', `syntime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '同步時間', `statusrank` tinyint(1) NOT NULL DEFAULT '0' COMMENT '暫停競價設置 0自動暫停 1保持運行狀態', `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '運行狀態,1:正常 2:暫停 3:異常 9: 刪除', `createtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '建立時間', `ocreatetime` int(10) NOT NULL DEFAULT '0' COMMENT '暫停時記錄客戶第一次添加時間', `stopReason` varchar(20) DEFAULT NULL, `updateTime` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `acountname` (`acountname`,`searchen`), KEY `cid` (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=10389 DEFAULT CHARSET=utf8 COMMENT='搜索營銷帳號表'; mysql > ALTER TABLE se.searchaccount DISCARD TABLESPACE; [root@simlinux ~]#cp /data/databak/se/{searchaccount.ibd,searchaccount.cfg} /usr/local/mysql/data/se/ [root@simlinux ~]#chown mysql.mysql /usr/local/mysql/data/se/ mysql > ALTER TABLE se.searchaccount IMPORT TABLESPACE;
注:.cfg文件包含InnoDB字典的特殊存儲格式;若是目的庫是XtraDB,須要拷貝searchaccount.ibd、searchaccount.exp linux
http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/restoring_individual_tables_ibk.html
http://xxrenzhe.blog.51cto.com/4036116/1401454
http://wangfeng7399.blog.51cto.com/3518031/1394996 sql