书上摘抄 ---深入浅出mysql 448页

 grant reload on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client,create tablespace on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhost' identified by '123456';

1.grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'%';

2.增量备份

在mysql中进行增量备份需要时,首先需要进行一次全量备份,之后的增量备份在上一次的增量备份

创建基础备份 base

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf /data/backup/hotbackup/base --no-timestamp

创建增量备份

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf  --incremental  /data/backup/hotbackup/incremental_one --incremental-basedir=/data/backup/hotbackup/base --no-timestamp  --parallel=2

再次创建增量备份

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf   --incremental /data/backup/hotbackup/incremental_two --incremental-basedir=/data/backup/hotbackup/increament_one --no-timestamp  --parallel=2

3.增量备份的恢复

恢复基础备份(全备)

恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数)

--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据

innobackupex --apply-log --redo-only --use-memory=2g  /data/backup/hotbackup/base

将增量备份increament_one应用到基础备份base:

innobackupex --apply-log --redo-only --use-memory=2g  /data/backup/hotbackup/base  --incremental-basedir=/data/backup/hotbackup/increament_one

将增量备份increament_two应用到基础备份base:

innobackupex --apply-log  --use-memory=2g  /data/backup/hotbackup/base  --incremental-basedir=/data/backup/hotbackup/increament_two

将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据

innobackupex --apply-log --use-memory=2g  /data/backup/hotbackup/base

将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库

mysqldmin -s /tm/mysql.sock shutdown

mv /home/mysql_test/mysqlhone/data /home/mysql_test/mysqlhome/_data_back

mkdir /home/mysql_test/mysqlhome/data

innodbackupex --defaults-file=/tmp/my.cnf --copy-back --rsync /data/backup/hotbackup/full

chown -R mysql.mysql /home/mysql_test/mysqlhome/data

启动数据库

*********************************************************************************************************************

操作实录:

问题:貌似只要是增量备份,一定要加--no-timestamp,否则会报错的

grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhostidentified by '123456';

***********************************************************

全量备份 + --no-timestamp

1.[root@test]#innobackupex --user=root /root/backup --no-timestamp  (加上--no-timestamp参数的时候,backup目录不能存在,否则会报innobackupex: Error: Failed to create backup directory /root/backup: File exists at /usr/bin/innobackupex line 3808.)

增量备份1

innobackupex --user=root  --incremental  /root/backup/incremental_one --incremental-basedir=/root/backup  --no-timestamp

增量备份2

innobackupex --user=root  --incremental  /root/backup/incremental_two --incremental-basedir=/root/backup/incremental_one  --no-timestamp

************************************************************************************************************************

全量备份 不加--no-timestamp

2.[root@test]#innobackupex --user=root /root/backup  (不加--no-timestamp的时候,backup目录一定要存在,要不然会报innobackupex: Error: Failed to create backup directory /root/backup/2014-05-22_02-07-14: No such file or directory at /usr/bin/innobackupex line 3808.)

[root@test]# ls -al /root/backup/
total 12
drwxr-xr-x. 3 root root 4096 May 22 02:07 .
dr-xr-x---. 6 root root 4096 May 22 02:07 ..
drwxr-xr-x. 6 root root 4096 May 22 02:07 2014-05-22_17-52-53
增量备份

增量备份1

innobackupex --user=root  --incremental  /root/backup/incremental_one --incremental-basedir=/root/backup/2014-05-22_17-52-53  --no-timestamp (这个参数一定要加,要不然无法备份成功)--parallel=2

增量备份2

innobackupex --user=root    /root/backup/incremental_two --incremental-basedir=/root/backup/increament_one --no-timestamp  --parallel=2

增量备份的恢复:

恢复基础备份(全备)

恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数

--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据

innobackupex --apply-log --redo-only  /root/backup/2014-05-22_17-52-53

将增量备份increament_one应用到基础备份base:

innobackupex --apply-log --redo-only   /root/backup/2014-05-22_17-52-53  --incremental-basedir=/root/backup/increament_one

将增量备份increament_two应用到基础备份base:

innobackupex --apply-log     /root/backup/2014-05-22_17-52-53 --incremental-basedir=/root/backup/increament_two

将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据

innobackupex --apply-log /root/backup/2014-05-22_17-52-53

将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库

/usr/local/mysql/bin/mysqladmin shutdown  关闭数据库

mv /var/lib/mysql/ /var/lib/mysql_bak           把原数据库目录重命名

mkdir /var/lib/mysql                                    新建原数据库目录

innodbackupex --copy-back --rsync /root/backup/2014-05-22_17-52-53

chown -R  mysql.mysql /var/lib/mysql

启动数据库

xtrabackup 备份与恢复的更多相关文章

  1. xtrabackup备份与恢复实践

    说明   xtrabackup  --percona 特点: 开源,在线备份innodb表 支持限速备份,避免对业务造成影响 支持流备 支持增量备份 支持备份文件压缩与加密 支持并行备份与恢复,速度快 ...

  2. MySQL入门篇(七)之Xtrabackup备份与恢复

    一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

  3. Xtrabackup备份与恢复MySQL

    1.innobackupex备份原理 .innobackupex启动并fork一个进程启动xtrabackup,然后等待xtrabackup备份InnoDB文件; .xtrabackup备份时存在两个 ...

  4. Xtrabackup备份与恢复

    一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

  5. 16、Xtrabackup备份与恢复

    XTRABACKUP xtrabackup是percona公司开发的第三方备份软件,只备份innodb引擎表的ibd文件(frm不备份),不备份myisam引擎表.备份性能很高,备份期间没有任和锁,d ...

  6. XtraBackup 备份与恢复实例讲解

    前一篇文章我们讲到了PXB的原理以及安装方法,接下来将详细介绍 XtraBackup 备份和恢复的具体过程. xtrabackup 选项 xtrabackup 工具有许多参数,具体可去官网查询(xtr ...

  7. mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)

    一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...

  8. Mysql—数据备份与恢复

    数据备份 # 备份单个数据库 [root@localhost ~]# mysqldump -h主机名 -u用户名 -p密码 数据库名字 > 备份的数据库名字.sql [root@localhos ...

  9. 【目录】mysql 进阶篇系列

    随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...

随机推荐

  1. kafka监控之topic的lag情况监控

    需求描述:lag(滞后)是kafka消费队列性能监控的重要指标,lag的值越大,表示kafka的堆积越严重.本篇文章将使用python脚本+influxdb+grafana的方式对kafka的offs ...

  2. 初始Node

    node是什么? ​ 一句话: 服务器 什么是服务器: ​ 一句话: 客户端访问 并且能够响应 为什么: ​ 一句话: 执行效率高 #安装 #控制台 切换磁盘: e: 改变目录: cd 目录 cd.. ...

  3. Windows安装Pytorch并配置Anaconda与Pycharm

    1 开发环境准备 Python 3.7+Anaconda3 5.3.1(64位)+CUDA+Pycharm Community 2 安装Anaconda 2.1 进入官网下载: 根据windows版本 ...

  4. spring的基础面试内容

    1.什么是spring? Spring 是个Java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Java ...

  5. NO.001- 简说 Java 并发编程史

    这篇文章是Java并发编程思想系列的第一篇,主要从理解Java并发编程历史的原因和Java并发演进过程两部分,以极简地回溯并发编程的历史,帮助大家从历史这个角度去了解一门语言一个特性的演进.对历史理解 ...

  6. Python 中的运算符重载

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 一种运算符对于不同类型的对象,有不同的使用方式.例如, + 用于整型对象,表示两个数相加:用于字符串 ...

  7. Python利用openpyxl带格式统计数据(1)- 处理excel数据

    统计数据的随笔写了两篇了,再来一篇,这是第三篇,前面第一篇是用xlwt写excel数据,第二篇是用xlwt写mysql数据.先贴要处理的数据截图: 再贴最终要求的统计格式截图: 第三贴代码: 1 '' ...

  8. python之代码重构

    在撸码过程中,总有很多代码需要重构,码一个问候用户的小例子,加深对代码重构的印象. 原始代码: 1 import json 2 3 filename = 'username.json' #定义文件名 ...

  9. H3C路由器配置——动态路由OSPF协议

    一.介绍 1.OSPF协议介绍 (1).OSPF(Open Shortest Path First,开放最短路径优先)路由协议是用于网际协议(IP)网络的链路状态路由协议.是一个被各厂商设备广泛支持的 ...

  10. vue-element-admin项目核心总结

    1.搭建项目 按照官方文档把整个项目下载下来,安装依赖包npm install, 然后npm run dev 启动项目. 2.项目自定义优化 删除不要的文件,启动项目登录后,发现里面有很多页面,对我们 ...