专栏首页吴柯的运维笔记使用XtraBackup工具实现数据库备份

使用XtraBackup工具实现数据库备份

一:安装XtraBackup软件包

1)安装依赖包perl-DBD-MySQL perl-Digest-MD5 libev

# yum -y install perl-DBD-MySQL perl-Digest-MD5 #rpm –ivh libev-4.15-1.el6.rf.x86_64.rpm

2)安装percona-xtrabackup

#rpm -ivh percona-xtrabackup-*.rpm

(需要安装包的童鞋可后台留言)

二:使用XtraBackup执行数据库备份

--host 主机名

--port 3306

--user 用户名

--password 密码

--databases="库名"

--databases="库1 库2"

--databases="库.表"

--no-timestamp 不用日期命名备份文件存储的子目录,使用备份的数据库名做备份目录名

--no-timestmap 不使用日期命名备份目录名

1)做一个完整备份(用日期命名)

#innobackupex --user=root --password=1234567 /backup/mysql –no-timestamp

确认备份好的文件数据:

#ls /backup/

2)做一个增量备份(基于前一步的完整备份)

随意做一些新增或更改库表的操作,比如在db1库中新建一个mytb的表:

mysql> USE db1;

mysql> CREATE TABLE mytb(id int(4), name varchar(24));

mysql> INSERT INTO tb1 VALUES(1,'bon'),(2,'bo');

以前一次保存到/backup的完整备份为基础,做一个增量备份,保存到/incr01/,指定增量备份参照的基本目录(完整备份目录)需要用到选项--incremental-basedir

#innobackupex --user=root --password=12345678 --incremental /incr01 --incremental-basedir=/backup/ --no-timestamp

确认备份好的文件数据:

# ls /incr01/

对比完整备份、增量备份的大小:

# du -sh /backup/ /incr01/

三:准备用于恢复的数据库目录

1)准备恢复“完整备份”

#innobackupex --user=root --password=12345678 --apply-log --redo-only /backup/

准备恢复“增量备份”

#innobackupex --user=root --password=12345678 --apply-log --redo-only /backup/ --incremental-dir=/incr01

2)关闭mysql服务,并将/var/lib/mysql/下的文件删除,假设数据被删除。

#systemctl stop mysqld #rm -rf /var/lib/mysql

3)恢复“完整备份+增量备份”

# innobackupex --user=root --password=12345678 --copy-back /backup/

4)修改/var/lib/mysql/下文件属主与属组,查看数据:

#chown -R mysql:mysql /var/lib/mysql #systemctl start mysqld.service #mysql -uroot -p12345678 -e "select * from db1.tb1"

本文分享自微信公众号 - 吴柯的运维笔记(wukeyy18s)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql数据库服务概述

    什么是数据库? ? 常见数据库服务软件介绍: ? mysql数据库的特点及应用: ? 数据库基本管理 # mysql -u root -p -h 127.0...

    吴柯
  • 使用mysqldump实现数据备份与恢复

    一:使用mysqldump进行逻辑备份 1)备份MySQL服务器上的所有库 # mysqldump -u root -p --all-databases > ...

    吴柯
  • Sed编辑器入门基础用法手册

    简介 Sed(Stream Editor)是一款流编辑工具,可以实现对文本进行过滤和替换操作,在批量修改文件时简便一些。 -非交互 -逐行处理(一次读取一行...

    吴柯
  • Linux下MySQL定时自动完整备份(mysqldump+crontab)

    KenTalk
  • 使用XtraBackup备份MySQL 8.0 Part 6 对数据库进行增量备份

    大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL

    bsbforever
  • 使用XtraBackup备份MySQL 8.0 Part 8 xtrabackup 命令总结

    大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL

    bsbforever
  • 使用XtraBackup备份MySQL 8.0 Part 4 对数据库进行全备

    大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL

    bsbforever
  • 在Ubuntu 16.04如何使用Percona将MySQL类别的数据库备份到指定的对象存储上呢?

    数据库通常会在您的基础架构中存储一些最有价值的信息。因此,在发生事故或硬件故障时,必须具有可靠的备份以防止数据丢失。

    木纸鸢
  • Mysql 备份恢复与xtrabackup备份

      备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的...

    惨绿少年
  • Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录

    在日常的linux运维工作中,大数据量备份与还原,始终是个难点。关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具in...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券