700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MySQL 数据库管理之 --- Xtrabackup 工具实现热备份

MySQL 数据库管理之 --- Xtrabackup 工具实现热备份

时间:2021-05-29 11:22:53

相关推荐

MySQL 数据库管理之 --- Xtrabackup 工具实现热备份

文章目录

1. 工具介绍2. Xtrabackup 优点3. 备份原理4. 参数选项5. 备份实验

1. 工具介绍

Xtrabackup 是由 percona 开源的免费数据库热备份软件,它能对 InnoDB 存储引擎和 XtraDB 存储引擎的数据库非阻塞地备份(对于 MyISAM 的备份需要加表锁)。mysqldump 备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于 50G,mysqldump 备份就不太适合。

2. Xtrabackup 优点

备份速度快,物理备份可靠备份过程不会打断正在执行的事务(无需锁表)能够基于压缩等功能节约磁盘空间和流量自动备份校验还原速度快可以平滑的将备份文件传输到另外一台机器上在不增加服务器负载的情况备份数据物理备份工具,在同级数据量基础上,都要比逻辑备份性能要好的多(几十 G 到不超过 TB 级别的条件下)。在同数据量级别,物理备份工具在恢复数据上也有一定优势

3. 备份原理

对于 Innodb 表可以实现热备:

在数据库还有修改操作的时刻,直接将数据文件备走,此时,备份走的数据对于当前 mysql 来讲是不一致的将备份过程中的 redo 和 undo 一并备走为了恢复的时候,只要保证备份出来的数据页 lsn 能和 redo lsn 匹配,将来恢复的就是一致的数据。redo 应用和 undo 应用

对于 MyISAM 表实现自动锁表拷贝文件:

备份开始时首先会开启一个后台检测进程,实时检测 mysql redo 的变化,一旦发现有新的日志写入,立刻将日志记入后台日志文件 xtrabackup_log 中,之后复制 innodb 的数据文件一系统表空间文件 ibdatax,复制结束后,将执行 flush tables with readlock,然后复制 .frm MYI MYD 等文件,最后执行 unlock tables,最终停止 xtrabackup_log。

4. 参数选项

5. 备份实验

安装 xtrabackup 软件

yum -y install /yum/percona-release-latest.noarch.rpmyum -y install percona-xtrabackup-24.x86_64

完全备份

mkdir -p /backupinnobackupex --user=root --password=123456 --socket=/usr/local/mysql/mysql.sock --no-timestamp /backup/full1innobackupex --user=root --password=123456 --use-memory=32M --no-timestamp /backup/xfull/

恢复数据前的准备(合并 xtabackup_log_file 和备份的物理文件)

innobackupex --apply-log --use-memory=32M /backup/xfull/#查看合并后的 checkpoints 其中的类型变为 full-prepared 即为可恢复cat /backup/xfull/xtrabackup_checkpointsbackup_type = full-preparedfrom_lsn = 0to_lsn = 2901604last_lsn = 2901613compact = 0recover_binlog_info = 0flushed_lsn = 2901613

直接删掉 data 目录

cd /usr/local/mysql/data/rm -rf ./*

使用 innobackupex 命令进行恢复

innobackupex --copy-back /backup/xfull

无论使用哪种恢复方法,恢复后都需要更改属主属组

chown -R mysql.mysql /usr/local/mysql/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。