生产环境中,有时需要做MySQL的备份和恢复工作。因MySQL是在运行过程中的,做全量备份需要时间,全量备份完成后又有数据变动,此时需要增量备份辅助。如果想恢复数据到一个空库(例如数据迁移或者上云等更换MySQL数据库的场景),基于全量备份+增量备份的数据进行恢复,可以更接近于原本的数据。

工作中曾经使用过的2种方法:

1.基于dump全量备份.sql+binlog生成增量备份sql,进行全量+增量的备份/恢复操作。

备份过程:

(1)dump命令,生成全量备份sql文件。

(2)查看全量备份文件.sql,注意这个信息:

(3)全量备份之后,MySQL中又有增删改操作。例如:再create一个表,并插入数据。

(4)增量备份:执行flush logs,会生成最新的增量binlog。

恢复过程:

(1)dump出来的全量备份文件.sql 和 flush出来的增量binlog 都scp拷贝到要恢复的机器上。

(2)恢复dump全量备份:mysql -uroot -p密码 数据库名 < 全量备份.sql

(3)基于binlog生成增量备份sql:mysqlbinlog --start-position=337 --database=数据库名 mysql-bin.000002 > 增量备份.sql

(4)执行恢复该增量备份sql:mysql -uroot -p密码 数据库名 < 增量备份.sql

2.基于Percona公司的xtrabackup工具,进行全量+增量的备份/恢复操作。

(1)全量备份

innobackupex --user=用户名 --password=密码 全量备份文件存放目录。

同样,期间有些增量操作,建表,增删数据等

(2)增量备份

innobackupex --user=用户名 --password=密码 --incremental 增量备份文件存放目录 --incremental-basedir=依赖的上一次全量备份或增量备份

(3)恢复日志的准备

增量恢复日志的准备

innobackupex --apply-log --redo-only全量备份文件存放目录

innobackupex --apply-log --redo-only全量备份文件存放目录 --incremental-dir=增量备份文件存放目录

全量恢复日志的准备

innobackupex --apply-log 全量备份文件存放目录

(4)恢复数据

关闭要恢复的数据库

/etc/init.d/mysqld stop

mv data data_old

mv undo undo_old

mv undo_log undo_log_old

mkdir -p data undo_log

innobackupex --move-back 全量备份文件存放目录

chown mysql:mysql -R data/

chown mysql:mysql -R undo_log/

/etc/init.d/mysqld start

mysqldump全量恢复_【MySQL】全量+增量的备份/恢复相关推荐

  1. window oracle 只有bak文件怎么恢复_一起来学习Oracle的备份恢复基础吧-4

    基于backup controlfile的恢复 使用备份的控制文件在实际工作中的两种情况: 当前控制文件全部损坏,而数据文件备份.控制文件备份及当前的日志处在不同的SCN版本,它们之间又增加过表空间( ...

  2. mysql的安装备份恢复_安装使用Percona XtraBackup来备份恢复MySQL的教程

    1.安装XtraBackup yum的安装方法: 自动 $ rpm -Uhv http://www.percona.com/downloads/percona-release/percona-rele ...

  3. mysql未开启binlog恢复_无全量备份、未开启binlog日志,利用percona工具恢复delete的数...

    当我们忘记做全量备份时,并且没有开启binlog,并执行了 deletefromsbtest; 数据全部丢失,要想恢复是很有难度的. 今天,利用Percona Data Recovery Tool f ...

  4. MySQL备份与恢复——基于Xtrabackup物理备份恢复

    一.说明 Percona XtraBackup工具提供了一种在执行MySQL数据热备的方法.Percona XtraBackup是一个免费的.在线的.开源的.完整的数据库备份解决方案,适用于MySQL ...

  5. mysql multi innobackupex,mysql之 Innobackupex(全备+增量)备份恢复

    MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用.增量备份主要是以全备或增量备份为基础,备份那些变更过的页面.其备份的原理是基于一个不断增长的LSN序列, ...

  6. mysql back blog_mysql qpress压缩备份恢复

    说明: 1.前面博客已经介绍过gzip压缩方法,备份正常,但后来测试恢复的时候,发现命中bug,报错如下: InnoDB: Page [page id: space=9494, page number ...

  7. MySQL增删改查及备份恢复

    数据库创建及增删改查 创建数据库: mysql> create database abc; 连接数据库: mysql> use abc; 创建表: mysql> create tab ...

  8. mysql 导入单个表_MySQL 备份恢复(导入导出)单个 innodb表

    MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...

  9. 刘子佼 mysql 下载_MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战 视频教程...

    课程名称:MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战课程简介: 课程独家解析MySQL 5.6最新特性,课程讲师刘子佼讲课风格幽默,善于与人沟通,善于组建和协调团队攻克技术难 ...

最新文章

  1. G - Shuffle‘m Up POJ - 3087
  2. 【推荐系统】推荐系统里,你是怎么Embedding的?
  3. 马哥2016全新Linux+Python高端运维班第七周作业
  4. ReactJS入门之前端开发的演变
  5. python线性回归算法简介_Python实现的简单线性回归算法实例分析
  6. python tfidf特征变换_使用sklearn提取文本的tfidf特征
  7. Git中上传忽略文件的方法 .gitignore
  8. 什么是计算机计算机网络的主要功能是什么,计算机网络的三大主要功能是什么?-与非网...
  9. rabbitMQ碰到了对象跨项目的时候,反序列化出了问题
  10. iOS 史上最详细的app测试或者上架AppStore流程
  11. 【图像融合】基于matlab curvelet变换图像融合【含Matlab源码 776期】
  12. Android关系型数据库应用——电话(短信)黑名单 .
  13. 如何使用kali的Searchsploit查找软件漏洞
  14. Abel逆变换的MATLAB实现(未完成版)
  15. [ACMMM2018]BeautyGAN: Instance-level Facial Makeup Transfer with DeepGenerative Adversarial Network
  16. 2020蚂蚁森林自动收能量-保持更新
  17. 【37期】请你详细说说类加载流程,类加载机制及自定义类加载器
  18. autojs教程:贝壳赚app脚本代码
  19. 小黄车凉了?1分钟带你解锁共享经济的3种新玩法
  20. 深圳千锋python培训

热门文章

  1. 软件测试中的黑盒测试和白盒测试和灰盒测试
  2. 如何说服老板页面兼容IE9+
  3. 基于SPCE061A的语音控制小车设计
  4. 树莓派语音控制开关灯
  5. 使用多线程实现多客户端的连接(通过Socket实现TCP编程)
  6. python能否取代excel_行,Python玩大了!​取代Excel,程序员:太牛!你怎么看?...
  7. 两阶段市场投标策略。 电力市场程序。 日前日内竞价 提出了日前电力市场和实时电力市场下充电站的投标策略
  8. Python WindowsError
  9. python中小写字母和数字用什么表示_Python – 检查数字,大写,小写字母和特殊字符的输入...
  10. Node.js Cannot find module 'xxx' 问题解决