数据备份mysqldump和XBK的使用

mysqldump

基础备份参数
-A 全备
mysqldump -uroot -p123456 -A >/backup/full.sql
-B 指定数据库备份
mysqldump -uroot -p123456 -B world wordpress >/backup/ww.sql
没有参数,指定备份数据库world中的city和country表
[root@db01 backup]# mysqldump -uroot -p123456 world city country > /backup/tab.sql

特殊备份参数
-R 存储过程和函数
-E 事件
–triggers 触发器
–master-data=2
–single-transaction
##–master-data=2 作用:
(1) 记录备份时刻的binlog信息
(2) 自动锁表
不结合–single-transaction ,温备份
结合–single-transaction,对于InnoDB表不锁表备份(快照备份)
例如:
mysqldump -uroot -p123456 -A -R --triggers --master-data=2 --single-transaction|gzip > /backup/full_$(date +%F).sql.gz

innobackupex

1.针对非InnoDB,进行锁表备份,copy所有的非innoDB表文件
2. 针对InnoDB表,立即触发CKPT,copy所有InnoDB表相关的文件(ibdata1,ibd,frm),并且将备份过程中产生,新的数据变化的部分redo一起备份走
3. 在恢复时,xbk会调用InnoDB引擎的CSR过程,将数据和redo的LSN追平,然后进行一致性恢复.

常见参数介绍:
–user:备份账号。
–password:备份的密码。
–port:备份数据库的端口。
–host:备份数据库的地址。
–no-timestamp:表示不要创建一个时间戳目录来存储备份,指定到自己想要的备份文件夹
–apply-log
通过应用同一目录下的事务日志文件xtrabackup_logfile,在BACKUP-DIR目录准备一个备份。页建立一个新的事务日志文件。innoDB的配置是从innobackupex备份时建立的文件backup-my.cnf读取。
–incremental 创建增量备份
–incremental-basedir 指定包含完全备份的目录
–incremental-dir 指定包含增量备份的目录
–redo-only 不回滚未提交事务

备份产生的文件介绍
(1) xtrabackup_binlog_info
记录备份时刻的二进制日志信息. 可以作为binlog截取的起点.
(2) xtrabackup_checkpoints
from : 备份中包含的LSN号的起点,全备:0,增量:上次备份的结束位置
to : ckpt 时的LSN
last-9 : 备份结束时的LSN.下次增量备份的起始位置.

猜你喜欢

转载自blog.csdn.net/qq_44788449/article/details/106850977