网站首页 > 技术教程 正文
简介:一般情况下,会使用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)、执行备份脚本
猜你喜欢
- 2025-07-15 Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 2025-07-15 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- 2025-07-15 linux通过yum安装nginx和mysql(linux在线安装nginx)
- 2025-07-15 Chat to MySQL 最佳实践:MCP Server 服务调用
- 2025-07-15 安装mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
- 2025-07-15 阿里云 RDS MySQL物理备份文件恢复到自建数据库
- 2025-07-15 MySQL 安装全攻略(Windows/Linux/macOS)
- 2025-07-15 使用docker备份mysql数据库(docker 备份 文件夹)
- 2025-07-15 Linux系统安装SQL Server数据库(linux如何安装数据库)
- 2025-07-15 MySQL 8.0——创建并使用数据库、获得数据库和表的信息
你 发表评论:
欢迎- 07-15Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- 07-15nginx-1.22.1在linux服务器上的安装
- 07-15Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- 07-15Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- 07-15Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- 07-15RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- 07-15Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 07-15在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- 最近发表
-
- Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- nginx-1.22.1在linux服务器上的安装
- Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- linux通过yum安装nginx和mysql(linux在线安装nginx)
- Chat to MySQL 最佳实践:MCP Server 服务调用
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)