编程技术分享平台

网站首页 > 技术教程 正文

Linux系统中的Mysql数据库Xtrabackup备份操作

xnh888 2025-07-15 01:44:04 技术教程 3 ℃ 0 评论

简介:一般情况下,会使用mysqldump工具对Mysql数据库进行数据备份。这时的mysqldump备份方式采用的是逻辑备份,最大的缺陷是备份和恢复速度较慢,需要的时间很长,如果需要备份的数据库大于50G,mysqldump备份就不太适合了。根据实际需要,会转用另一个备份工具Xtrabackup,而Xtrabackup是由percona开源的免费数据库热备份软件,能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(而对于MyISAM的备份同样需要加表锁)。

Xtrabackup安装完成后有4个可执行文件。

  • xtrabackup 是专门用来备份InnoDB表的,和mysql server没有交互;
  • innobackupex 是一个封装xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁;
  • xbcrypt 加密解密备份工具;
  • xbstream 流传打包传输工具,类似tar。

本文主要介绍Xtrabackup备份软件的安装与使用,详细内容请参考下文。

一、Xtrabackup备份原理

1、备份原理

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

2、Xtrabackup优点

(1)、备份速度快,物理备份可靠

(2)、备份过程不会打断正在执行的事务(无需锁表)

(3)、能够基于压缩等功能节约磁盘空间和流量

(4)、自动备份校验

(5)、还原速度快

二、查看Mysql环境变量

1、登录Linux系统

2、访问Mysql数据库

备注:本文安装的是Mysql另一个分支系统MariaDB。其使用过程与Mysql数据库基本一样。

3、查看Mysql存储引擎

执行指令# show variables like “have_%”;查看是否支持innodb。

执行指令# show engines;查看默认的存储引擎是InnoDB。

备注:InnoDB存储引擎是目前MySQL版本默认的存储引擎,也是MySQL推荐使用的存储引擎,是集高可靠性和高性能于一身的存储引擎。

InnoDB存储引擎的优势在于:

  • 支持行级锁的使用保证了高并发的属性;
  • InnoDB对有主键的表会依据主键优化查询性能,也称聚簇索引,将所有数据存储在聚簇索引上以减少对主键查询的IO消耗;
  • InnoDB还支持外键属性,确保有外键约束的表之间不会有不一致的数据,保证数据的一致性;
  • 当服务器硬件或者软件故障导致MySQL重启后,InnoDB会自动识别已经在故障之前提交的数据,并回退所有故障时未提交的数据,最大限度的保护数据不会丢失(crash recovery)。

4、查看Mysql存储引擎的系统表空间

执行指令# show variables like '%innodb_data_file_path%';

备注:一般情况下,InnoDB存储引擎的系统表空间用来存放表和索引数据,同时也是doublewriter缓存,change缓存和回滚日志(undo log)的存储空间,系统表空间是被多个表共享的表空间。

默认情况下,系统表空间只有一个系统数据文件,名为ibdata1,系统数据文件的位置和个数由参数innodb_data_file_path参数决定,这是系统采用的就是共享表空间。不过,如果启用了独立表空间参数,则会不一样,每一个表都将会生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有一个.ibd文件。 其中这个文件包括了单独一个表的数据内容以及索引内容,默认情况下它的存储位置也是在表的位置之中。可以通过执行指令# show variables like '%per_table';可以查看是否启用独立表空间。

三、Xtrabackup安装过程

1、下载Xtrabackup软件包

访问官网https://www.percona.com/downloads 下载percona-xtrabackup-2.4.26。如下图

下载后的文件如下:

2、解压Xtrabackup软件包

执行指令# tar -zxvf
percona-xtrabackup-2.4.26-Linux-x86_64.glibc2.12.tar.gz

查看解压后的软件,如下图

3、查看Xtrabackup版本信息

执行指令# ./xtrabackup -v查看版本信息

4、编写Xtrabackup备份脚本

(1)、编写完全备份脚本

(2)、编写增量备份脚本

(3)、执行备份脚本

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表