php

首页 » linux » 正文

XtraBackup使用

2019年06月28日 | 分类:linux | 作者:DoRoll | 评论:0条评论 | 浏览:1383

1.ubuntu 使用apt形式安装 原文链接 ,2.4版本支持mysql5.7,官方8.0版本是为mysql8准备,不向下兼容

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
apt-get update
apt-get install percona-xtrabackup-24

2. 参数说明

备份时选项
xtrabackup –backup

--user=USER                     该选项表示备份账号,指定备份用户,不指定的话为当前系统用户

--password=PASSWD               指定备份用户密码

--port=PORT                     指定数据库端口

--defaults-group=GROUP-NAME     在多实例的时候使用

--host=HOST                     指定备份数据库的主机地址,可以为远程数据库服务器

--apply-log                     回滚日志

--database                      指定需要备份的数据库,多个数据库之间以空格分开
例子:
如果要指定多个数据库,彼此间需要以空格隔开;如:”xtra_test dba_test”,同时,在指定某数据库时,也可以只指定其中的某张表。如:”mydatabase.mytable”。该选项对innodb引擎表无效,还是会备份所有innodb表

--defaults-file                 指定从哪个文件读取MySQL配置,必须放在命令行第一个选项位置

--copy-back                     将备份数据复制回原始位置

--incremental                   增量备份,后面跟要增量备份的路径,指定–incremental-basedir

--incremental-basedir=DIRECTORY 增量备份时使用指向上一次的增量备份所在目录,与–incremental同时使用

--incremental-dir=DIRECTORY     增量备份还原的时候用来合并增量备份到全量,用来指定全备路径

--include=TABLE:               指定表名,格式:databasename.tablename

--rsync                         加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用

--no-timestamp                  生成的备份文件不以时间戳为目录.


Prepare于准备选项(还原)
xtrabackup -prepare

--apply-log:此选项作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态

--use-memory:该选项表示和–apply-log选项一起使用,prepare 备份的时候,xtrabackup做crash recovery分配的内存大小,单位字节。也可(1MB,1M,1G,1GB),推荐1G

--export:表示开启可导出单独的表之后再导入其他Mysql中

--redo-only:此选项在prepare base full backup,往其中merge增量备份时候使用,对增量备份进行合并


还原时选项
--copy-back:                   复制

--move-back:                   移动

3.进行全量备份

xtrabackup -uroot -p123456 --backup --target-dir=文件存放路径

4.进行全量恢复,一定要停止mysql服务,且删除mysql 原有的数据文件 ,我的在/var/lib/mysql文件夹下

rm -rf /var/lib/mysql/*

备份文件预处理
xtrabackup  --prepare --apply-log-only --target-dir=全量备份文件存放路径
# --prepare 表示还原
# --apply-log-only 表示不回滚

xtrabackup --copy-back --target-dir=全量备份文件存放路径

注意mysql恢复后的数据存放文件,一定要是  mysql:mysql,如果出现文件无法读取情况,还得给予777 权限



-------------------------------------------进行增量备份-------------------------------------------------

5.进行增量备份

xtrabackup -u root -p123456 --backup --target-dir=增量文件编号00001 --incremental-basedir=基于哪个全量备份文件来
xtrabackup -u root -p123456 --backup --target-dir=增量文件编号00002 --incremental-basedir=增量文件编号00001
xtrabackup -u root -p123456 --backup --target-dir=增量文件编号00003 --incremental-basedir=增量文件编号00002
....... 依次向后推

6.进行增量恢复,一样先停机mysql服务,删除mysql 原有的数据文件,然后预处理备份文件

备份文件预处理
xtrabackup  --prepare --apply-log-only --target-dir=全量备份文件存放路径
# --prepare 表示还原
# --apply-log-only 表示不回滚

xtrabackup --prepare --apply-log-only --target-dir=全量备份文件 --incremental-dir=增量备份文件编号00001
xtrabackup --prepare --apply-log-only --target-dir=全量备份文件 --incremental-dir=增量备份文件编号00002
......依次向后推,然后就能得到一个标准的全量备份文件,然后执行全量文件恢复
xtrabackup --copy-back --target-dir=全量备份文件

7.然后在下一次增量-上一次增量这个期间时间点数据,就只能通过binlog文件进行恢复了


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索
网站分类
控制面板
您好,欢迎到访网站!
  查看权限
«   2019年7月   »
1234567
891011121314
15161718192021
22232425262728
293031