一、注意事项

  建议用xtrabackup备份时采用全备或增量备份的方式,楼主也尝试过单库备份,但是都以备份后恢复到已经存在数据库的mysqldata目录下后部分库会出幺蛾子而告终,建议使用mysqldump备份部分库。

二、安装

  yum install  http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm  #下载percona公司的rpm依赖包

  yum list | grep percona

  yum install percona-xtrabackup-24 -y #安装xtrabackup

三、全量备份与恢复

  1、备份

    innobackupex --defaults-file=/data/3306/my.cnf --user=root -S /data/3306/mysql.sock --password="xxx" --backup /data/backup/xtrabackup/  #将数据目录备份到 /data/backup/xtrabackup/下,完成后该目录下会生成相应的时间戳目录然后所有的备份文件会放在目录中

  2、恢复准备

    innobackupex --apply-log /data/backup/xtrabackup/2017-12-04_13-57-29/(此目录为备份后的目录)  

    #使用此--apply-log参数使用相关数据性文件保持一致性状态

  3、恢复到数据库

    a、首先清空数据目录

      rm -rf /Registry/fof2_mysql/mysql3308/mysql_data/*

    b、 正式恢复

      innobackupex --defaults-file=/data/3308/my.cnf  --copy-back  /data/backup/xtrabackup/2017-12-04_13-57-29/(配置文件my.cnf中已经配置datadir=/Registry/fof2_mysql/mysql3308/mysql_data/)

    c、给数据目录mysql权限

      chow -R mysql:mysql /Registry/fof2_mysql/mysql3308/mysql_data

  4、特别注意事项

    若数据库版本不一致,需要使用命令 mysql_upgrade -u root -p 进行修复。

四、增量备份

  1、注意事项

    需要注意的是,增量备份仅能应用于InooDB或XtraDB表,对于MyISAM表,增量与全备相同

  2、

引用自:https://blog.csdn.net/wfs1994/article/details/80396604

https://www.cnblogs.com/youkanyouxiao/p/8335173.html

https://blog.csdn.net/heizistudio/article/details/23937935

  

xtrabackup --user=pycf --password=pycf@2018 --host=127.0.0.1 --datadir=/application/mysql3306/mysql_data/ --databases=wohaoshuai --backup --target-dir=/application/data/backup/xtrabackup/

五、xtrabackup 全量和增量备份(若要备份全量则参考增量中的全量即可)

  1、备份:

全量:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --user=root --password="123456" --port=3308 --backup --target-dir=/application/backup/mysql/full_incre_aaa

创库一表一后第一次增量备份:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --backup --user=root --password="123456" --port=3308 --target-dir=/application/backup/mysql/incre_1/ --incremental-basedir=/application/backup/mysql/full_incre_aaa

创库二表二后第二次增量备份:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --backup --user=root --password="123456" --port=3306 --target-dir=/application/backup/mysql/incre_2/ --incremental-basedir=/application/backup/mysql/incre_1/

创库三表三后第三次增量备份:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --backup --user=root --password="123456" --port=3306 --target-dir=/application/backup/mysql/incre_3/ --incremental-basedir=/application/backup/mysql/incre_2/

  2、恢复准备:
全备恢复准备:

xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --prepare --user=root --password="123456" --apply-log-only --target-dir=/application/backup/mysql/full_incre_aaa

第一次增量恢复准备:

xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --prepare --user=root --password="123456" --apply-log-only --target-dir=/application/backup/mysql/full_incre_aaa --incremental-dir=/application/backup/mysql/incre_1/

第二次增量恢复准备:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --prepare --user=root --password="123456" --apply-log-only --target-dir=/application/backup/mysql/full_incre_aaa --incremental-dir=/application/backup/mysql/incre_2/

第三次增量恢复准备:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --prepare --user=root --password="123456" --apply-log-only --target-dir=/application/backup/mysql/full_incre_aaa --incremental-dir=/application/backup/mysql/incre_3/

  3、恢复:
开始恢复:
xtrabackup --defaults-file=/application/mysql3308/my.cnf -S /application/mysql3308/logs/mysql.sock --prepare --user=root --password="123456" --target-dir=/application/backup/mysql/full_incre_aaa

先停止mysql
/application/mysql3308/bin/mysqladmin -uroot -S /application/mysql3308/logs/mysql.sock -p shutdown

开始同步数据:
cd /application/backup/mysql/full_incre_aaa

rsync -rvt --exclude 'xtrabackup_checkpoints' --exclude 'xtrabackup_logfile' ./ /application/mysql3308/mysql_data

chow -R mysql. /application/mysql3308

启动mysql
/application/mysql3308bin/mysqld_safe --defaults-file=/application/mysql3308/my.cnf --user=mysql &

mysql xtrabackup工具备份的更多相关文章

  1. Mariadb使用xtrabackup工具备份数据脚本

    #!/bin/bash#这个脚本用来备份SQL文件: sql_home="/home/mysql"sql_bak_log="$sql_home/xtrabackup.lo ...

  2. mysql xtrabackup增量备份

    mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月. 增量备份步骤; 1 创建全备 2 根据全备目录,创建增量备份 3 第二次增量备份根据第一次增量备份目录,依次 ...

  3. xtrabackup数据库备份工具

    下来我来介绍一下更强大的备份工具:xtrabackup xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速 ...

  4. mysql和mariadb备份工具xtrabackup和mariabackup(mariadb上版本必须用这个)

    简介 xtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server ...

  5. MySQL数据库备份之xtrabackup工具使用

    一.Xtrabackup备份介绍及原理 二.Xtrabackup的安装 1.在centos7上基于yum源安装percona-xtrabackup软件 [root@node7 ~]# yum -y i ...

  6. MySQL物理物理备份与还原工具xtraBackup

    (一)xtraBackup简介 xtraBackup是Percona公司开发的一款MySQL数据库备份软件,在备份模式中属于物理备份.其显著特点是开源.免费.备份执行过程中不会阻塞事物.备份可压缩.支 ...

  7. XtraBackup物理备份 阿里云的Mysql备份方案

    XtraBackup物理备份 Percona XtraBackup是世界上唯一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份.使用Percona XtraBac ...

  8. mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)

    一.概述 物理备份和恢复又分为冷备份和热备份.与逻辑备份相比,它最大优点是备份和恢复的速度更快.因为物理备份的原理都是基于文件的cp. 1.1 冷备份 冷备份就是停掉数据库服务.这种物理备份一般很少使 ...

  9. MySQL 大数据备份方案之Percona XtraBackup

    Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbacku ...

随机推荐

  1. MT【92】空间余弦定理解题

    评:学校常规课堂教学里很少讲到这个,有点可惜.

  2. 【bzoj2440】 中山市选2011—完全平方数

    http://www.lydsy.com/JudgeOnline/problem.php?id=2440 (题目链接) 题意 求第K个不含有完全平方因子的数 Solution 没想到莫比乌斯还可以用来 ...

  3. 【poj3415】 Common Substrings

    http://poj.org/problem?id=3415 (题目链接) 题意 给定两个字符串 A 和 B,求长度不小于 k 的公共子串的个数(可以相同). Solution 后缀数组论文题... ...

  4. SqlParameter防止SQL注入

    SQL注入的解决方案有好几种,待我细细研究过之后逐一讲解. 方法一:SqlParameter方法 这里有一篇博客是详细介绍SqlParameter的,可以看看 点我 string sqlStr=&qu ...

  5. scala 基础到高阶

    本文打算对这小段时间学习 scala 以及 spark 编程技术做个小结,一来温故而知新,而来为以后查阅方便 spark scala 入门小例子  文本文件 UserPurchaseHistory.c ...

  6. 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UITableViewCell注册(填写)重用标识符:identifier.必须要代码方法中的标识符一致.

    CHENYILONG Blog 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UI ...

  7. js基础知识:闭包,事件处理,原型

    闭包:其实就是js代码在执行的时候会创建变量对象的一个作用域链,标识符解析的时候会沿着作用域链一级一级的网上搜索,最后到达全局变量停止.所以某个函数可以访问外层的局部变量和全局变量,但是访问不了里层的 ...

  8. 第7月第18天 xcode bundle ffmpeg

    1. https://zhuanlan.zhihu.com/p/24281404 2. 186  ffmpeg -i /Users/temp/Downloads/n-201402201522融资融券专 ...

  9. Javascript - Vue - vue对象的生命周期

    vue对象的生命周期 从vue的创建到销毁会经过一系列的事件,这是vue对象的生命周期. 创建期间的生命周期函数 <div id="box">    <h3 id ...

  10. linux c中select使用方法

    1.select函数作为定时器使用    it_value.tv_sec = 0;    it_value.tv_usec = 100000:    select(1,NULL,NULL,NULL,& ...