0

0

生产环境MySQL快速备份工具XtraBackup使用案例

php中文网

php中文网

发布时间:2016-06-07 16:07:53

|

1412人浏览过

|

来源于php中文网

原创

MySQL的备份有很多种方式,最常用的应该是MySQLdump了,将数据库导出一个 sql文件,还原的时候source db.sql 就欢快的执行了。小

mysql的备份有很多种方式,最常用的应该是mysqldump了,将数据库导出一个 sql文件,还原的时候source db.sql 就欢快的执行了。小伙伴愉快的布上一个shell脚本,配上cron,幸福的看着每天备份文件的生成,倍感安全。假如一个mysql超过了10g呢? 请相信我,导出的时间需要好几个小时,那还原呢,时间会更长。我曾经用sql还原一个6g的数据库,用了3个多小时。

MySQLdump这种逻辑备份的缺点就不多说了,说说xtrabackup,又是PERCONA,就冲这个名号,值得信赖。官方说明:

1、快速可靠

2、备份过程中不中断事务处理

3、节约磁盘空间和网络带宽

4、自动备份验证

5、由于快速还原而带来的高可用行

上面说的,反正我是信了,还是那个6G多的库,全备用了5分钟,还原也只用了5分钟。兄弟们,记住一点,要是真到了用备份来还原数据的时候,你还原几个小时,老板会有想法的!呵呵。

操作系统:CentOS release 6.5

MySQL: 5.6.21

一、安装

yum install

yum install percona-xtrabackup

二、开始使用

xtrabackup包含innobackupex,xtrabackup,xbcrypt,xbstream这几个工具。Innobackupex支持MyISAM,InnoDB。所有,我选择使用innobackupex。

1.创建备份用户,你懂的,最小权限
mysql> create user'bkuser'@'localhost' identified by 'bk2015';
Query OK, 0 rows affected (0.16sec)
mysql> grant reload,locktables,replication client on *.* to 'bkuser'@'localhost';
Query OK, 0 rows affected (0.00sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01sec)

2.使用innobackupex进行数据库全备
innobackupex --user=bkuser--password=bk2015 /mnt/backups

--user 提供连接数据库的用户名
--password 连接数据库的密码
/mnt/backups 备份文件的存储路径


命令执行完成后在/mnt/backups目录下生成了2015-02-03_15-11-51目录,该目录就是我们当前数据库的一个完整备份。该目录是innobackupex自动生成的目录,有一个参数可以控制该选项--no-timestamp,如果加上该参数,将不会自动生成目录,备份创建在提供的路径下。该参数在脚本中使用比较方便。

3.使用完整备份进行数据库还原

还原准备工作
innobackupex --apply-log/mnt/backups/2015-02-03_15-11-51

--apply-log 创建的备份中可能有些未提交的事务,需要回滚或者从日志进行回放

Vozo
Vozo

Vozo是一款强大的AI视频编辑工具,可以帮助用户轻松重写、配音和编辑视频。

下载

还原
停止mysql服务,
service mysqld stop

备份原有的mysql数据目录
mv /mnt/data/mysql /mnt/data/mysql20150203

执行还原操作

innobackupex --copy-back/mnt/backups/2015-02-03_15-11-51/

改变目录权限,启动服务

chown –R mysql.mysql /mnt/data/mysql
 
service mysqld start

 
4.innobackupex增量备份
增量备份需要一次完成备份为基础,在全备的基础上,下次备份仅备份当前时间到上次完备基础上变化的数据。最大的好处是节约磁盘空间。当然,不好的地方是还原,还原的流程将变的复杂


4.1 首先进行全备
innobackupex --user=bkuser --password=bk2015 /mnt/backups

在备份目录2015-02-03_15-11-51中有个xtrabackup-checkpoints,内容如下:
backup_type = full-backuped
from_lsn = 0
to_lsn = 1291135
 
创建增量备份
innobackupex --incremental /mnt/backups --incremental-basedir=/mnt/backups/2015-02-03_15-11-51--incremental 使用该参数创建增量备份
--incremental-basedir 指定上一次备份的目录,比如这是完整备份后的第一次增备,该目录是完备的目录,如果这是第二次增备,则该目录是第一次增备的目录
 
检查增备目录的文件中的xtraback_checkpoint文件内容,会发现,lsn发生了变化
backup_type = incrementalfrom_lsn = 1291135to_lsn = 1352113

5.增量备份的还原


5.1 还原准备工作
流程: --apply-log 应用到全备目录,第一次增备,第二增备……第N次增备,全部应用完成后相当于全备+所有增备 的一个新的全备。

innobackupex --apply-log --redo-only BASE-DIR

innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1innobackupex --apply-log BASE-DIR --incremental-dir=INCREMENTAL-DIR-2BASE-DIR 全备目录
INCREMENTAL-DIR-1 第一次增备
INCREMENTAL-DIR-2 第二次增备

--redo-only 重要,,每次增备都需要指定该参数,除了最后一次。否则未提交的事务将执行rollback。
以上步骤完成后,再次执行
innobackupex --apply-log BASE-DIR剩下的步骤按照全备的方式还原即可

MySQL管理之使用XtraBackup进行热备

MySQL开源备份工具Xtrabackup备份部署

MySQL Xtrabackup备份和恢复

用XtraBackup实现MySQL的主从复制快速部署【主不锁表】

安装和使用 Percona 推出的 Xtrabackup 备份 MySQL

XtraBackup 的详细介绍:请点这里
XtraBackup 的下载地址:请点这里

本文永久更新链接地址:

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号