在线热备份数据库innobackupex 完整备份InnoDB

XtraBackup

  • xtrabackup C程序,支持InnoDB/XtraDB
  • innobackupex : 以Perl脚本封装xtrabackup,还支持MyISAM

个人建议由innobackupex增量/完整 + binlog 基本上可以满足小型企业需求

percona-xtrabackup安装部署

  • 依赖库:libev.so
  • 安装依赖事件库 libev
  • 安装percona-xtrabackup
常用选项 含义
- - host 主机名
- - user 用户名
- - port 端口号
- - databases 数据库名
- - password 密码
- - no-timestamp 不用时间命名备份子目录

-- databases 不加该参数则为 备份所有数据库

--databases="库名 库名" 指定多个库

--databases="库1.表名" 备份单张表

  • 安装percona-xtrabackup
yum install -y  libev-4.15-1.el6.rf.x86_64.rpm
yum install -y percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
  • 建立测试环境和数据使用percona-xtrabackup 进行完整备份恢复.
create database lqh1;
create table lqh1.tb1(id int );
insert into lqh1.tb1 values (1),(2),(3);
  • 使用innobackupex对数据库进行完整备份
innobackupex --user root --password Aa123456. /fullbackup  --no-timestamp

这里使用的是本机备份,也可以结合脚本在异机备份,使用参数--host

这里使用的是不指定数据库,对数据库所有库所有表进行备份,也可以通过参数--databases指定数据库.

这里备份目录/fullbackup可以不用创建,备份程序会自动进行创建

  • 接下来使用完整备份进行恢复
  • 在目标机器上先停止mysql服务.
systemctl stop mysqld
  • 将恢复目标机器上的mysql数据目录(默认安装路径/var/lib/mysql)下的文件打包移走,仅仅留下空目录即可.
tar -zcvPf /home/mysqldata.tar.gz /var/lib/mysql && rm -rf /var/lib/mysql/*
  • 应用innobackupex备份日志,准备进行完整恢复.
innobackupex --apply-log /fullbackup
  • 进行innobackupex拷贝数据库(要求mysqldata 文件夹为空)
innobackupex --copy-back  /fullbackup
  • 将恢复的目录里面所有的文件和文件夹属组该成mysql,让mysql拥有权限操作,因为使用root操作的innobackupex所以目前是root
chown -R mysql:mysql /var/lib/mysql/*
  • 重启mysql服务,校验恢复结果
select * from lqh1.tb1;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+

在线热备份数据库之innobackupex 完整备份InnoDB的更多相关文章

  1. 在线热备份数据库之innobackupex 增量备份InnoDB

    在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘 ...

  2. Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

    原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...

  3. Percona备份mysql全库及指定数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份) Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对I ...

  4. Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)     文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 inno ...

  5. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  6. 使用xtrabackup备份innodb引擎的数据库

    innodb引擎的数据库可以使用mysqldump备份,如果表很大几十个G甚至上百G,显示用mysqldump备份会非常慢.然后使用xtrabackup 可以很快的在线备份innodb数据库.Inno ...

  7. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

  8. 阿里云 如何减少备份使用量? mysql数据库的完整备份、差异备份、增量备份

    RDS for MySQL备份.SQL审计容量相关问题_MYSQL使用_技术运维问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/4 ...

  9. SQLserver2008数据库备份和还原问题(还原是必须有完整备份)

    首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用,如果其它问题,请搜索别的大牛的解决办法,本方法只适合菜鸟. 这个连接是站长大人的异常恢复方法,有问题可以自己学习http://w ...

随机推荐

  1. electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 子进程管理 electron教程(三): ...

  2. 【Java】获取当前操作系统桌面路径

    //当前用户桌面 File desktopDir = FileSystemView.getFileSystemView() .getHomeDirectory(); String desktopPat ...

  3. Bugku练习

    首先我们拿到了一个admin.exe的文件,根据惯例我先用查一下有没有加壳: ???这是怎么回事??? 我于是用了winhex打开看了一下,发现 这不就是data协议吗~~~,把后面的base64解密 ...

  4. 什么是javascript字面量,常量,变量,直接量?

    1.字面量是变量的字符串表示形式.它不是一种值,而是一种变量记法. var a = 1 //1是字面量 var b = 'css' //css是字面量 var c = [5,6,7] //567是字面 ...

  5. 基于vue组件,发布npm包

    亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...

  6. 聊聊db和缓存一致性的5种实现方式

    数据存储在数据库中,为了加快业务访问的速度,我们将数据库中的一些数据放在缓存中,那么问题来了,如何确保db和缓存中数据的一致性呢?我们列出了5种方法,大家都了解一下,然后根据业务自己选择. 方案1 获 ...

  7. Qt5教程: (4) 带参数信号与槽

    在subwidget.h中声明一个signal. 和之前的信号函数重名但是有参数: void backSignal(QString); 之后在subwidget.cpp的槽函数sendSignal() ...

  8. python-Flask模版注入攻击SSTI(python沙盒逃逸)

    一篇以python Flask 模版渲染为例子的SSTI注入教学~ 0x01 Flask使用和渲染 这里简化了flask使用和渲染的教程 只把在安全中我们需要关注的部分写出来 来一段最简单的FLASK ...

  9. 03 Node.js学习笔记之根据http请求路径返回不同数据

    在Nodejs中,当客户端请求的路径不同时,NodeJS处理返回不同的数据 步骤: //1.载入http模块 var http=require('http'); //2.创建一个http服务 var ...

  10. Spring 框架基础(04):AOP切面编程概念,几种实现方式演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.AOP基础简介 1.切面编程简介 AOP全称:Aspect Oriented Programming,面向切面编程.通过预编译方式和运行期 ...