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

在线热备份数据库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 |
+------+

原文地址:https://www.cnblogs.com/lqinghua/p/11681756.html

时间: 2024-10-10 05:57:26

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

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

在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘空间.但相较于完整备份而言可靠性有所降低,不能缺失基于完整备份的增量备份区间备份包,建议完整备份区间时间不可大于一周,通常情况下如果数据库非常庞大个人建议三天到七天完整备份一次,期间每天进行增量备份.如果数据库小那么每天进行完整备份才是最安全的选择. 增量备份原理是什么?他是如何记录上次备份的位置?

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

原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份 同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流

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

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innobackupex使用方法 完整备份及还原 增量备份及还原 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona

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

innodb引擎的数据库可以使用mysqldump备份,如果表很大几十个G甚至上百G,显示用mysqldump备份会非常慢.然后使用xtrabackup 可以很快的在线备份innodb数据库.InnoDB 有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备.而 percona出品的Xtrabackup,是InnoDB Hotbackup的一个开源替代品,可以在线对InnoDB/XtraDB引擎的表进行物理备份. innobackupex是参考了InnoDB Hot

mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份     增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份.这里我们采用的策略是每周五下午5:30进行一次完整备份:每天的6:00.12:10.17:00进行增量备份. 1.完整备份脚本如下:(备份之后并打包存储) 2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中) 增量备份的前提时,要在mysql的配置文件里打开二进制功能: log-bin=mysql 3.将这两个加进计划任务里 4.执行结果: 数据

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

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

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

首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用,如果其它问题,请搜索别的大牛的解决办法,本方法只适合菜鸟. 这个连接是站长大人的异常恢复方法,有问题可以自己学习http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html 一.先来学习备份数据库,选中需要备份数据库,右击鼠标,如下图: 二.点击备份之后,如下图,点击确定: 三.备份好之后,是还原,选中数据库,右击

技术分享之如何完整备份sql server 2012数据库?

博客已经建了几年了,但由于我是个外行,因此一开始就采用了zblog asp+access数据库的方式进行搭建,主要还是因为技术方面的缺陷嘛.但是经过几年的整理和写作,发现这套系统越来越卡了,咨询了很多博主,并且去ZBLOG论坛逛了很多次,发现是因为数据库的原因导致的,ACCESS数据库只能建一些小站,数据量已达就有明显的压力了,因此最近尝试了将ACCESS升级和转换为sql server2012的微软数据库,经过几天的折腾和请教了一些高人,终于解决了这个难题,现在访问起来畅快多了.我的博客:读后

完整备份数据库+差异备份,恢复到另外一台服务器

材料:完整备份数据库一份.最近备份的差异备份一份 现在需要将它完整的恢复到另外一台数据库服务器上. 首先 左侧数据库-右键-还原数据库 然后目标数据库手动输入一个名字. 下面源设备选择完整数据库文件,然后确定后会出现在 选择用于还原的备份集 那里,勾选中完整的那份.然后左侧选项 填写一下 mdf 文件路径等 最主要的是下面那个要选择中间那个选项,以便恢复完了以后还能继续恢复差异备份 点击确认后,数据开始恢复,恢复完了以后,刷新一下左侧的数据库列表,会发现刚刚那个输入的数据库名字,显示的是 正在还