MySQL数据库(五)
使用第三方软件提供的命令innobackupex做增量备份 备份过程中不会锁表,适合生产环境但是只适用于存储引擎为 innodb
(a)安装软件包
rpm -ivh percona...
(b)命令格式
#innobackupex 选项 /man innobackupex
[选项]
--user
--password
--databases
--no-timestamp /不用日期命名备份文件储存的子目录
--apply-log /准备换原(日志回滚)
--copy-back /恢复数据
--increment 目录名 /增量备份
--increment-basedir=目录名/增量备份时,指定上一次备份数据存储的目录名
事务日志文件: ibdata
LSN 日志序列号
ib_logfile0 sql 命令
ib_logfile1
完全备份
#innobackupex --user root --password abc123 --databases="系统库 存储数据库"备份目录
#innobackupex --user root --password abc123 --databases="mysql sys performance_schema teadb" /allbak --no-timestamp
完全恢复数据
#innobackupex --user root --password abc123 --databases="mysql sys performance_schema teadb" --apply-log /allbak
#innobackupex --user root --password abc123 --databases="mysql sys performance_schema teadb" --copy-back /allbak
增量备份(必须先有一次备份,通常会先做一次完全备份)
#innobackupex --user root --password abc123 --databases="系统库 存储数据库"/allbak --no-timestamp
vim /allbak/xtrabackup_checkpoints查看序列号lsn
#innobackupex--user root --password abc123 --databases="系统库列表 存储数据库"--incremental /newdir1--incremental-basedir=/allbak--no-timestamp
vim /newdir1/xtrabackup_checkpoints查看序列号lsn
#innobackupex--user root --password abc123 --databases="系统库列表 存储数据库"--incremental /newdir2--incremental-basedir=/newdir1--no-timestamp
vim /newdir2/xtrabackup_checkpoints查看序列号lsn
每一次增量备份都是在上次备份的基础上进行备份 所以--incremental-basedir=目录名这个目录名是上次备份的目录名
增量恢复
#innobackupex --user root --password abc123 --databases="系统库 存储数据库" --appy-log --redo-only /allbak
#vim /allbak/xtrabackup_checkpoints查看序列号lsn
#innobackupex --user root --password abc123 --databases="系统库 存储数据库" --apply-log --redo-only /allbak --incremental-dir=/newdir1
#vim /allbak/xtrabackup_checkpoints查看序列号lsn
#innobackupex --user root --password abc123 --databases="系统库 存储数据库" --apply-log --redo-only /allbak --incremental-dir=/newdir2
#vim /allbak/xtrabackup_checkpoints查看序列号lsn
#innobackupex --user root --password abc123 --databases="系统库 存储数据库" --copy-back /allbak
增量恢复就是把增量备份的部分一次一次还原到第一次备份的过程
页:
[1]