文档章节

innobackex工具备份mysql数据

阿想
 阿想
发布于 2017/08/28 23:54
字数 681
阅读 21
收藏 1

innobackex工具备份mysql数据

xtrbackup只能用于备份innodb引擎的数据库,而innobackex 既可以备份innodb引擎的数据库,也可以备份myisam引擎的数据库。备份时也可分为全量备份和增量备份

一、安装innobackex

使用官网的yum源,方便安装

[root@axiang-02 ~]# rpm -ivh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm
[root@axiang-02 ~]# yum install percona-xtrabackup

二、全量备份mysql

2.1、创建并授权备份用户

我们可以直接授权all权限,但是不符合安全原则

mysql -uroot -paxianglinux
grant reload,lock tables,replication client on *.* to 'backupuser'@'localhost'  identified  by 'axianglinux';
flush  privileges;
  • 权限为reload,lock tables,replication client

2.2、全部备份

[root@axiang-02 ~]# mkdir /data/backup
[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser  --password='axianglinux' -S /tmp/mysql.sock /data/backup
  • defaults-file=/etc/my.cnf指定配置文件位置是为了获得datadir位置
  • 备份完成后,会在指定的保存目录中生成一个时间戳目录

如图,备份失败也会出现

三、全量备份恢复

3.1、模拟误删除MySQL数据目录故障

[root@axiang-02 ~]# /etc/init.d/mysqld  stop  
[root@axiang-02 ~]# mv /data/mysql /data/mysql.bak
[root@axiang-02 ~]# mkdir /data/mysql
[root@axiang-02 ~]# chown -R mysql:mysql /data/mysql

如果权限没给 -R 则恢复后无法开启MySQL服务。如上图

3.2、恢复

[root@axiang-02 ~]# ls /data/backup/
2017-08-28_20-47-25

[root@axiang-02 ~]# innobackupex  --use-memory=512M  --apply-log /data/backup/2017-08-28_20-47-25/
[root@axiang-02 ~]# innobackupex  --defaults-file=/etc/my.cnf  --copy-back /data/backup/2017-08-28_20-47-25/
[root@axiang-02 ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 

四、增量备份

之前我们已经进行了全量备份,经过操作,一段时间后重新全量备份的话,需要耗费的资源较多,这时我们就可以使用增量备份了。

两次增量备份

[root@axiang-02 ~]# rm -rf /data/backup/*
[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser  --password='axianglinux' -S /tmp/mysql.sock /data/backup
[root@axiang-02 ~]# mysql -uroot -paxianglinux -e 'drop database bbs;'
[root@axiang-02 ~]# innobackupex  --defaults-file=/etc/my.cnf  --user=backupuser  --password='axianglinux'  -S /tmp/mysql.sock  --incremental  /data/backup  --incremental-basedir=/data/backup/2017-08-28_23-18-20
[root@axiang-02 ~]# mysql -uroot -paxianglinux -e 'drop database blog;'
[root@axiang-02 ~]# innobackupex  --defaults-file=/etc/my.cnf  --user=backupuser  --password='axianglinux'  -S /tmp/mysql.sock  --incremental  /data/backup  --incremental-basedir=/data/backup/2017-08-28_23-24-32

在每个备份的时间戳目录下面都有一个检查点。可以确定恢复顺序

五、顺序恢复

模拟故障,移除原有数据

[root@axiang-02 ~]# /etc/init.d/mysqld stop
[root@axiang-02 ~]# mv /data/mysql /data/mysql.backup
[root@axiang-02 ~]# mkdir /data/mysql
[root@axiang-02 ~]# chown -R mysql:mysql /data/mysql

恢复

innobackupex --apply-log --redo-only /data/backup/2017-08-28_23-18-20
innobackupex --apply-log --redo-only /data/backup/2017-08-28_23-18-20 --incremental-dir=/data/backup/2017-08-28_23-24-32
innobackupex --apply-log /data/backup/2017-08-28_23-18-20 --incremental-dir=/data/backup/2017-08-28_23-27-39
innobackupex --copy-back /data/backup/2017-08-28_23-18-20/

chown -R mysql:mysql /data/mysql
/etc/init.d/mysqld start

© 著作权归作者所有

共有 人打赏支持
阿想
粉丝 0
博文 72
码字总数 69742
作品 0
MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制

DBMS数据库管理系统的三层模型:物理层,逻辑层以及视图层。 物理层:决定数据的存储形式。 逻辑层:是一张有一张的表,一行行的数据记录。 视图层:让用户看起来更方便,可有可无。 存储引擎...

wujunqi1996
06/28
0
0
MySQL管理工具

一、MySQL工具 二、mysqladmin工具 三、mysqldump工具(备份用) 一、MySQL工具 mysql是一个简单的命令行SQL工具,该工具支持交互式和非交互式运行 使用范例: 1、使用root账户连接服务器,默...

youshine
2015/07/14
0
0
Linux命令:MySQL系列之十二--MySQL备份与还原mysqldump(重要章节)

一、数据备份 备份类型:热备份、温备份和冷备份 热备份:读、写不受影响; 温备份:仅可以执行读操作; 冷备份:离线备份,读、写操作均中止; 备份方式:物理备份和逻辑备份: 物理备份:复...

wang6501081
2017/05/26
0
0
MySQL数据库备份与恢复

在使用MySQL的过程中,我们免不了数据的备份与恢复,数据库的迁移等操作,针对不同的情形,可以选取不同的方案。还记得之前GitLab删库事件吗?在那么多牛逼的工程师力挽狂澜下,最后还是丢失...

tianya1993
2017/05/19
0
0
xtraBackup备份原理剖析

xtrabackup作为innodb的hotbackup工具,由percona公司开发,因开源,热备份和物理备份而 在mysql中部署广泛,详情的说明可见之前的博客讨论. 在物理级别热备份主要的一大挑战就是在文件级别数...

蓝狐乐队
2016/05/13
80
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg学习记录

我开始熟练使用windbg是从帮助手册开始的,也就是.hh命令。 就像学习windows开发从msdn开始一样,微软的产品虽然不开源,但是文档做的是相当的好。然而那些开源的东西呢?开源的竞争力其实就...

simpower
9分钟前
0
0
学习scala的网站汇总

https://www.codacy.com/blog/how-to-learn-scala/

Littlebox
11分钟前
0
0
配置本地的cloud9开发环境

前言 说到在线IDE开发环境,cloud9是不能绕过的,cloud9支持很多语言,默认支持的就有Node.js,Python,Ruby,PHP,Go,更逆天的是,他还支持数据库,包括MySQL,MongoDB,Redis,SQLite。但...

Kefy
15分钟前
0
0
springcloud应用程序上下文层次结构

如果您从SpringApplication或SpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级。这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因...

itcloud
20分钟前
0
0
新程序员最爱的免费资源

简评:国外美女程序员推荐了她自己用过的一些免费资源,对新手比较友好的那种。 原作者 Ali Spittel,是个美女程序员,以下这些资源都是她自己试过的。以下「我」代表 Ali Spittel。 学 HTML...

极光推送
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部