xtrabackup的使用

xtrabackup使用

官方文档——————备份原理 备份操作

1、备份原理

xtrabackup 在备份 InnoDB 相关数据时,有2条线程,1条是 redo 拷贝线程,负责拷贝 redo 文件,1条是 ibd 拷贝线程,负责拷贝 ibd 文件;redo 拷贝线程只有一个,在 ibd 拷贝线程之前启动,在 ibd 线程结束后结束。xtrabackup 进程开始执行后,先启动 redo 拷贝线程,从最新的 checkpoint 点开始顺序拷贝 redo 日志;然后再启动 ibd 数据拷贝线程。
注意:在备份过程中有ddl操作会导致备份失败:ddl操作不会纪录到redo log中,当执行了ddl语句修改表结构后再往该表写入数据,redo log会记录这些数据,在将这些数据导入数据文件时,会发现和数据文件中的表结构冲突。

2、备份操作

// 全局备份,备份加密的话加上--compress参数,使用备份时也需要先--decompress解密
xtrabackup --defaults-file=/etc/my.cnf --backup --user=root --password=‘123456’ socket=/tmp/mysql.sock target-dir=/backup/2019_12_12(一般用日期当作备份名)

3、备份恢复

3.1、全恢复

// 解密备份文件
xtrabackup --decompress --target-dir=/backup/2019_12_12
// 准备一个备份
xtrabackup --prepare --target-dir=/backup/2019_12_12
// 恢复备份
xtrabackup --copy-back --target-dir=/backup/2019_12_12

3. 2、恢复单库单表

恢复单库或指定几个库的话,只需要将备份文件下的其他库移出去就好
恢复单表:
1、创建表(忘记表结构可以使用mysqlfrm解析备份里的frm文件 mysqlfrm —diagnostic ~/*.frm)
2、删除表空间 alter table yourtable discard tablespace(实际效果是删除该库对应表的.ibd文件)
3、将备份中对应的.ibd(数据文件)拷贝至所属数据库文件下,修改文件所属为mysql:mysql
注意:主从结构不要忘了将这步操作在从库上也执行一遍
4、导入表空间 alter table yourtable import tablespace

3.3、恢复到指定时间点

1、找到需要恢复的备份文件
2、如果是加密的备份,使用xtrabackup --decompress --target-dir=/backup/2019_06_10 来解密
(若报错:sh:qpress:command not found,需要安装qpress工具http://www.quicklz.com上可下载)
xtrabackup —prepare —target-dir=/backup/2019_06_10 准备一个备份
chown -R mysql:mysql 2019_06_10修改文件,后面直接会使用这个数据文件启动数据库检查是否恢复正确
3、解密完成后,进入文件夹,cat xtrabackup_info文件,得到备份的信息

xtrabackup_info

4、使用mysqlbinlog --start-position=“备份结束的位置节点” --stop-datetime=“需要恢复的时间节点" /app/mysql/log/binlog/bin-log.002206 > /tmp/test.sql将全备结束和需恢复点之间的binlog转存为sql文件(若2个节点之间的内容包含了多个binlog,可以这样写bin-log.00220[5-6]*,表示002205和002206两个binlog文件)
5、用mysqld --user=mysql --no-defaults --basedir=/app/mysql/dist --datadir=/backup/ -P3307来启动mysql
no-defaults:不读取配置文件(my.cnf)
basedir:mysql的配置目录
datadir:mysql的数据目录
-P:自定义端口,不要与原有数据库端口重复
6、mysql -h127.0.0.1 -uadmin -ppassword -P3307登陆数据库,再source得到的sql文件,可能会报GTID的错误,可以忽略,数据还是能成功插入的(注意:登入后show databases查看是否为备份数据库的数据)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343