mysql备份工具之xtrabackup

1.备份xtrabackup工具安装(只能备份数据,不能备份表结构)
http://tongcheng.blog.51cto.com/6214144/1562538

2.xtrabackup基本参数

--defaults-file      --数据库的默认配置文件

--target-dir         --备份文件存放的目录

--backup             --备份到--target-dir目录中

--prepare            --备份文件恢复前的准备

--use-memory         --分配多大内存用于恢复

--throttle           --限制使用的IO个数

--databases          --备份指定的数据库

--compress           --压缩备份

--incremental-basedir    --增量备份的目录

3.数据库完全备份

[[email protected] ~]# mysql -u root -p -e "select * from tong.t1"     --查看数据库中的数据
Enter password:
+------+
| q    |
+------+
|    9 |
|    8 |
+------+

[[email protected] ~]# xtrabackup  --default-file=/etc/my.cnf --backup --datadir=/usr/local/mysql-5.6.22/data --target-dir=/opt/all/      --备份所有库
[[email protected] ~]# ll /opt/all/
total 12300
-rw-r-----. 1 root root 12582912 Apr 24 15:35 ibdata1
drwx------. 2 root root     4096 Apr 24 15:35 tong
-rw-r-----. 1 root root       89 Apr 24 15:35 xtrabackup_checkpoints
-rw-r-----. 1 root root     2560 Apr 24 15:35 xtrabackup_logfile
[[email protected] ~]#

4.删除数据后恢复
[[email protected] ~]# mysql -u root -p -e "delete from tong.t1"     --删除数据
Enter password:
[[email protected] ~]# mysql -u root -p -e "select * from tong.t1"     --查看数据是否还存在
Enter password:
[[email protected] ~]# cd /usr/local/mysql-5.6.22/data/tong
[[email protected] tong]# cp -a /opt/all/tong/*  .         --将备份的数据覆盖现在的数据文件
cp: overwrite `./t1.ibd‘? y
cp: overwrite `./t.ibd‘? y
[[email protected] tong]# chown mysql:mysql *       --修改权限
[[email protected] tong]# ll
total 220
-rw-r--r--. 1 mysql mysql    61 Apr 24 14:37 db.opt
-rw-r--r--. 1 mysql mysql  8554 Apr 24 14:37 t1.frm
-rw-r-----. 1 mysql mysql 98304 Apr 24 15:35 t1.ibd
-rw-r--r--. 1 mysql mysql  8554 Apr 24 14:37 t.frm
-rw-r-----. 1 mysql mysql 98304 Apr 24 15:35 t.ibd
[[email protected] tong]# /etc/init.d/mysqld  restart        --重启服务
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[[email protected] data]# mysql -u root -p -e "select * from tong.t1"
Enter password:
+------+
| q    |
+------+
|    9 |
|    8 |          --数据回来了
+------+
[[email protected] data]#

5.增量备份

[[email protected] data]# mysql -u root -p -e "insert into tong.t1 values(7),(6),(5)"
Enter password:
[[email protected] data]# mysql -u root -p -e "select * from tong.t1"
Enter password:
+------+
| q    |
+------+
|    9 |
|    8 |
|    7 |
|    6 |
|    5 |
+------+
[[email protected] tong]# xtrabackup  --default-file=/etc/my.cnf --backup --datadir=/usr/local/mysql-5.6.22/data --target-dir=/opt/incr/ --incremental-basedir=/opt/all/
[[email protected] tong]# ll /opt/incr/
total 176
-rw-r-----. 1 root root 163840 Apr 24 15:47 ibdata1.delta
-rw-r-----. 1 root root     44 Apr 24 15:47 ibdata1.meta
drwx------. 2 root root   4096 Apr 24 15:47 tong
-rw-r-----. 1 root root     93 Apr 24 15:47 xtrabackup_checkpoints
-rw-r-----. 1 root root   2560 Apr 24 15:47 xtrabackup_logfile
[[email protected] tong]#

6.删除数据后恢复数据

[[email protected] data]# mysql -u root -p -e "delete from tong.t1"
Enter password:
[[email protected] data]# mysql -u root -p -e "select * from tong.t1"
Enter password:
[[email protected] data]# xtrabackup  --default-file=/etc/my.cnf --prepare  --target-dir=/opt/all/

[[email protected] data]# xtrabackup  --default-file=/etc/my.cnf --prepare  --target-dir=/opt/all/ --incremental-dir=/opt/incr/

[[email protected] data]# cd /opt/all/tong/
[[email protected] tong]# cp -a * /usr/local/mysql-5.6.22/data/tong
cp: overwrite `/usr/local/mysql-5.6.22/data/tong/t1.ibd‘? y
cp: overwrite `/usr/local/mysql-5.6.22/data/tong/t.ibd‘? y
[[email protected] tong]# cd /usr/local/mysql-5.6.22/data/tong
[[email protected] tong]# chown  mysql:mysql *
[[email protected] tong]# /etc/init.d/mysqld  restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[[email protected] tong]# mysql -u root -p -e "select * from tong.t1"
Enter password:
+------+
| q    |
+------+
|    9 |
|    8 |
|    7 |
|    6 |
|    5 |
+------+
[[email protected] tong]#

时间: 2024-10-12 18:38:13

mysql备份工具之xtrabackup的相关文章

Mysql备份工具xtraback全量和增量测试

Mysql备份工具xtraback全量和增量测试   xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http://www.percona.com/docs/wiki/percona-xtrabackup:start Xtrabackup是由percona开发的一个开源软件,此软件可以说是innodb热备工具ibbackup的一个开源替代品.这个软件是由2个部分组成的:xtrabackup和innobackupe

mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1.1:Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex1.xtraback

MySQL备份工具XtraBackup的使用

xtrabackup简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠: (2)备份过程不会打断正在执行的事务: (3)能够基于压缩等功能节约磁盘空间和流量: (4)自动实现备份检验: (5)还原速度快: 官方下载地址:地址,你可以通过此链接下载最新版. #wget https://www.percona.com/downloads/XtraBac

mysql 备份工具简介

mysql自带的: mysqldump:逻辑备份工具,对MySAM可以实现温备,对innodb可以进行热备 mysqlhotcopy:物理备份工具(温备份) 文件系统工具: 比如你在Linux下面的直接使用cp 命令(冷备份),win下面的复制(冷备份) LVM快照功能可以实现几乎热备份 LVM快照备份MyISAM 和innodb引擎的数据时候需要注意: 对MyISAM而言使用LVM快照备份需要在mysql执行sql命令 flush tables:然后LOCK TABLE 然后才能创建快照,创建

mysql备份工具

备份还原脚本及工具 1)Xtrabackup实现是物理备份,而且是物理热备 目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup:ibbackup是商业软件,需要授权,非常昂贵.而xtrabackup功能比ibbackup还要强大,但却是开源的. 2)Xtrabackup提供了两种命令行工具: xtrabackup:专用于备份InnoDB和XtraDB引擎的数据: innobackupex:这是一个perl脚本,在执行过程中会调用xtrabackup命令,这样用该命令即可

备份工具之Xtrabackup

Xtrabackup xtrabackup是基于InnoDB存储引擎灾难恢复的.它复制InnoDB的数据文件,尽管数据文件在内部是非一致性的,但在执行灾难恢复时可以保证这些数据文件是一致的,并且可用. 官方原理 在InnoDB内部会维护一个redo日志文件,我们也可以叫做事务日志文件.事务日志会存储每一个InnoDB表数据的记录修改.当InnoDB启动时,InnoDB会检查数据文件和事务日志,并执行两个步骤:它应用(前滚)已经提交的事务日志到数据文件,并将修改过但没有提交的数据进行回滚操作. x

mysql备份、恢复之xtrabackup

xtrabackup: 由percona提供,取代ibbackup备份工具.用来备份其xtradb引擎数据,xtradb本身就是InnoDB增强版完全兼容InnoDB,只支持MyISAM温备,更多高级特性支持InnoDB. xtrabackup高级功能依赖于MySQL InnoDB引擎是否启用每表单个表空间,否则不能使用单表导入导出 特点: (1)备份过程快速.可靠 (2)备份过程不会打断正在执行的事务 (3)能够基于压缩等功能节约磁盘空间和流量 (4)自动实现备份检验 (5)还原速度快 安装p

Mysql 备份恢复与 xtrabackup备份

1.1 备份的原因 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间. 1.1.1 备份的目录 做灾难恢复:对损坏的数据进行恢复和还原 需求改变:因需求改变而需要把数据还原到改变以前 测试:测试新功能是否可用 1.1.2 备份中需要考虑的问题 可以容忍丢失多长时间的数据: 恢复

mysql 备份脚本(xtrabackup)

mysql备份脚本,记录一下: 全备: #!/bin/sh  set -x                                                             USER=root  PASSWORD=123456 time=`date +"%y-%m-%d-%H-%M"`   date >> /data/mysqlbackup/logs/$time'_allbackup.log'    #1 begin Full Backups  ech