MySQL之:xtrabackup备份还原

2020-04-01  本文已影响0人  Simon_Ye

Percona:

官网:www.percona.com
percona-server
InnoDB --> XtraDB

xtrabackup:

percona 提供的 mysql 数据库备份工具,唯一开源的能够对 innodb 和 xtradb 数据库进行热备的工具
手册:https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html

特点:

Xtrabackup 版本区别:

版本 2.2 之前:

版本 2.4 之后:

xtrabackup 安装:

yum install percona-xtrabackup:在EPEL源中

innobackupex 备份:

Xtrabackup 用法:

备份:

innobackupex [option] BACKUP-ROOT-DIR

选项说明:

https://www.percona.com/doc/percona-xtrabackup/LATEST/genindex.html
--user:表示备份账号
--password:表示备份的密码
--host:表示备份数据库的地址
--databases:接受的参数为数据名,如果要指定多个数据库,彼此间需要以空格隔开;如:"xtra_test dba_test",同时,在指定某数据库时,也可以只指定其中的某张表。如:"mydatabase.mytable"。该选项对 innodb 引擎表无效,还是会备份所有 innodb 表
--defaults-file:指定从哪个文件读取 MySQL 配置,必须放在命令行第一个选项位置
--incremental:表示创建一个增量备份,需要指定 --incremental-basedir
--incremental-basedir:指定为前一次全备份或增量备份的目录,与 --incremental 同时使用
--incremental-dir:表示还原时增量备份的目录
--include=name:指定表名,格式:databasename.tablename

Prepare:

innobackupex --apply-log [option] BACKUP-DIR
选项说明:
--apply-log:一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处于不一致状态。此选项作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态
--use-memory:该选项表示和---apply_log选项一起使用,prepare 备份的时候,xtrabackup 做 crash recovery 分配的内存大小,单位字节。也可(1MB,1M,1G),推荐1G
--export:表示开启可导出单独的表之后再导入其他Mysql中
--redo-only:此选项在 prepare base full backup,往其中 merge 增量备份时候使用

还原:

innobackupex --copy-back [option] BACKUP-DIR
innobackupex --move-back [option] [--defaults-group=GROUP-NAME] BACKUP-DIR

还原注意事项:
  1. datadir 目录必须为空。除非指定 innobackupex --force-non-empty-directorires 选项指定,否则 --copy-backup 选项不会覆盖
  2. 在 restore 之前,必须 shutdown MySQL 实例,不能将一个运行中的实例 restore 到 datadir 目录中
  3. 由于文件属性会被保留,大部分情况下需要在启动实例之前将文件的属主改为 mysql,这些文件将属于创建备份的用户
    chown -R mysql:mysql /data/mysql
    以上需要在用户调用 innobackupex 之前完成
    --force-non-empty-directories:指定该参数时候,使得 innobackupex --copy-back 或 --move-back 选项转移文件到非空目录,已存在的文件不会被覆盖。如果 --copy-back 和 --move-back 文件需要从备份目录拷贝一个在 datadir 已经存在的文件,会报错失败
上一篇 下一篇

猜你喜欢

热点阅读