[root@node3 dylan]# yum install percona-xtrabackup-2.3.2-1.el7.x86_64.rpm

[root@node3 dylan]# innobackupex --uer=root /backups/ ###全库备份

[root@node3 dylan]# ls /backups/2017-08-10_13-34-47/

backup-my.cnf  hellodb  ibdata1  mysql  performance_schema  test  xtrabackup_binlog_info  xtrabackup_checkpoints  xtrabackup_info  xtrabackup_logfile

要恢复的主机同样安装starbackup

[root@node3 dylan]# scp -r /backups/2017-08-10_13-34-47/ root@192.168.0.150:/dylan

###复制备份文件至恢复主机

要恢复的主机上:

[root@localhost /]# mkdir backups

[root@localhost /]# mv /dylan/2017-08-10_13-34-47/ /backups/

[root@localhost /]# innobackupex  --apply-log /backups/2017-08-10_13-34-47/ ###整理操作

[root@localhost /]# systemctl stop mariadb.service ###未还原前不能启动

[root@localhost /]# rm -rf /mydata/data/*

[root@localhost /]# innobackupex --copy-back /backups/2017-08-10_13-34-47/ ###还原操作

[root@localhost /]# systemctl start mariadb.service ###启动出错

Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

[root@localhost /]# chown -R mysql.mysql /mydata/data/* ###更改数据属组属主

[root@localhost dylan]# ll -h  /mydata/data

总用量 115M

-rw-rw---- 1 mysql mysql  16K 8月  10 14:21 aria_log.00000001

-rw-rw---- 1 mysql mysql   52 8月  10 14:21 aria_log_control

drwx------ 2 mysql mysql 4.0K 8月  10 14:18 hellodb

-rw-r----- 1 mysql mysql  18M 8月  10 14:18 ibdata1

-rw-r----- 1 mysql mysql  48M 8月  10 14:18 ib_logfile0

-rw-r----- 1 mysql mysql  48M 8月  10 14:18 ib_logfile1

drwx------ 2 mysql mysql 4.0K 8月  10 14:18 mysql

-rw-rw---- 1 mysql mysql    0 8月  10 14:21 mysql-bin.index

drwx------ 2 mysql mysql 4.0K 8月  10 14:18 performance_schema

drwx------ 2 mysql mysql   42 8月  10 14:18 test

-rw-r----- 1 mysql mysql   25 8月  10 14:18 xtrabackup_binlog_pos_innodb

-rw-r----- 1 mysql mysql  455 8月  10 14:18 xtrabackup_info

[root@localhost dylan]# rm /mydata/data/ib_logfile* -f

[root@localhost /]# systemctl start mariadb.service ###至此完成完全备份

增量备份示例:

MariaDB [hellodb]> CREATE TABLE testtb(id int);

Query OK, 0 rows affected (0.07 sec)

MariaDB [hellodb]> INSERT INTO testtb VALUES (1),(10),(99);

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

###提前准备数据

[root@node3 dylan]# innobackupex  /backups/ ###先做一次完全备份

[root@node3 dylan]# less /backups/2017-08-10_14-35-00/xtrabackup_checkpoints

backup_type = full-backuped ### lsn从0-1711208

from_lsn = 0

to_lsn = 1711208

last_lsn = 1711208

compact = 0

recover_binlog_info = 0

为了测试效果:在hellodb中删除一张表,在testtb中新增几个值

MariaDB [hellodb]> DROP TABLE coc;

Query OK, 0 rows affected (0.01 sec)

MariaDB [hellodb]> INSERT INTO testtb VALUES (44),(32);

Query OK, 2 rows affected (0.01 sec)

Records: 2  Duplicates: 0  Warnings: 0

[root@node3 dylan]# innobackupex --incremental /backups/ --incremental-basedir=/backups/2017-08-10_14-35-00/ ###在以前的基础上增量备份

[root@node3 dylan]# less /backups/2017-08-10_14-42-06/xtrabackup_checkpoints

backup_type = incremental

from_lsn = 1711208 ###lsn从1711208-1713870

to_lsn = 1713870

last_lsn = 1713870

compact = 0

recover_binlog_info = 0

[root@node3 dylan]# systemctl stop mariadb.service

[root@node3 dylan]# innobackupex --apply-log --redo-only /backups/2017-08-10_14-35-00/ ###先整理完全备份

[root@node3 backups]# innobackupex --apply-log --redo-only /backups/2017-08-10_14-35-00/ --incremental-dir=/backups/2017-08-10_14-42-06/

### 最新一次的增量合并到完全备份中

[root@node3 backups]# less /backups/2017-08-10_14-35-00/xtrabackup_checkpoints

backup_type = log-applied ###lsn 从0 到1713870

from_lsn = 0

to_lsn = 1713870

last_lsn = 1713870

compact = 0

recover_binlog_info = 0

[root@node3 backups]# rm /var/lib/mysql/* -rf ###测试数据挂了

[root@node3 backups]# innobackupex --copy-back /backups/2017-08-10_14-35-00/ ###还原数据

[root@node3 backups]# ll -lh /var/lib/mysql/

总用量 115M

drwx------ 2 root root 4.0K 8月  10 15:06 hellodb

-rw-r----- 1 root root  18M 8月  10 15:06 ibdata1

-rw-r----- 1 root root  48M 8月  10 15:06 ib_logfile0

-rw-r----- 1 root root  48M 8月  10 15:06 ib_logfile1

drwx------ 2 root root 4.0K 8月  10 15:06 mysql

drwx------ 2 root root 4.0K 8月  10 15:06 performance_schema

drwx------ 2 root root   42 8月  10 15:06 test

-rw-r----- 1 root root   25 8月  10 15:06 xtrabackup_binlog_pos_innodb

-rw-r----- 1 root root  444 8月  10 15:06 xtrabackup_info

[root@node3 backups]# chown -R mysql.mysql /var/lib/mysql/

[root@node3 backups]# cd /var/lib/mysql/

[root@node3 mysql]# rm -rf ib_logfile* ###事务日志不知道为什么为48M

[root@node3 mysql]# systemctl start mariadb.service ###完成

重新测试一次:

[root@node3 backups]# ll -lh /data/mysql/

总用量 19M

drwx------ 2 root root 4.0K 8月  10 15:49 hellodb

-rw-r----- 1 root root  18M 8月  10 15:49 ibdata1

drwx------ 2 root root 4.0K 8月  10 15:49 mysql

drwx------ 2 root root 4.0K 8月  10 15:49 performance_schema

drwx------ 2 root root   19 8月  10 15:49 test

-rw-r----- 1 root root   24 8月  10 15:49 xtrabackup_binlog_pos_innodb

-rw-r----- 1 root root  443 8月  10 15:49 xtrabackup_info ###显示正常

导出表示例:

先做一次完全备份:

[root@node3 backups]# innobackupex /backups/

[root@node3 backups]# innobackupex --apply-log --export /backups/2017-08-10_16-21-01/ ###对此位置进行导出操作

MariaDB [hellodb]> SHOW CREATE TABLE students; ###直接在原表中查看students表创建语句

MariaDB [mydb]> CREATE TABLE `students` ( ###在新表中创建

->   `StuID` int(10) unsigned NOT NULL AUTO_INCREMENT,

->   `Name` varchar(50) NOT NULL,

->   `Age` tinyint(3) unsigned NOT NULL,

->   `Gender` enum('F','M') NOT NULL,

->   `ClassID` tinyint(3) unsigned DEFAULT NULL,

->   `TeacherID` int(10) unsigned DEFAULT NULL,

->   PRIMARY KEY (`StuID`)

-> ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8

-> ;

Query OK, 0 rows affected (0.02 sec)

MariaDB [mydb]> ALTER TABLE students DISCARD TABLESPACE; ###删除此表的表空间

[root@node3 backups]# cd /backups/2017-08-10_16-21-01/hellodb/

[root@node3 hellodb]# scp students.exp students.ibd root@192.168.0.150:/mydata/data/mydb/ ###从原服务备份中复制表的exp和ibd文件到新表中

root@192.168.0.150's password:

students.exp                                            100%   16KB  16.0KB/s   00:00

students.ibd                                            100%   96KB  96.0KB/s   00:00

新库中查看:

[root@localhost mydb]# ls

db.opt  students.exp  students.frm  students.ibd

[root@localhost mydb]# chown mysql.mysql students.*         ###更改属主属组

MariaDB [mydb]> ALTER TABLE mydb.students IMPORT TABLESPACE; ###导入出错

ERROR 1030 (HY000): Got error -1 from storage engine         ###留存以后解决

转载于:https://blog.51cto.com/rylan/1955253

percona-xtrabackup备份示例完全备份和增量备份相关推荐

  1. RMAN备份概念_关于RMAN增量备份(RMAN INCREMENTAL BACKUP)

    增量备份只拷贝那些从上一次备份以来更改过的数据块.可以使用RMAN创建数据文件,表空间或整个数据库的增量备份. 缺省情况下,RMAN做完全备份.数据文件的完全备份包含被备份的文件中的每个分配的块.数据 ...

  2. linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份

    一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...

  3. C 实现Mysql增量备份_window下mysql数据库增量备份实现教程

    mysql增量备份(mysql5.1 之后),linux下mysql增量备份 网上资料很多.这里只说明window下mysql增量备份. 定义: mysql数据库会以二进制的形式,自动把用户对mysq ...

  4. oracle增量备份0级,oracle_linux自动运行rman增量备份脚本,一、增量备份脚本0级备份脚本...

    一.增量备份脚本 0级备份脚本:红色部分为自定义的备份文件放置的目录 #script.:BackupFull.sh #creater:xyh #date:2014-03-08 #desc:backup ...

  5. MySQL8增量备份1008无标题_mysql增量备份

    一.环境描述(使用rsync进行mysql的增量备份) 192.168.0.2为备份服务器 192.168.0.3为需要经常备份的mysql数据库 二.主要配置 1.备份服务器配置 useradd m ...

  6. oracle 增量备份 需要归档日志,oracle增量备份及应用

    1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多 ...

  7. linux增量备份目录,linux下的增量备份工具rsnapshot介绍

    本人一直在用群晖上的 Timebackup 插件,对群晖里面的资料进行定时备份(把某个时间点的状态保存下来,以备将来查询的需要),觉得非常方便,我用了几年了,无奈官方现在逐渐放弃了对 Timeback ...

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

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

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

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

  10. Linux随笔19-MySQL主从复制、Percona XtraBackup实现全量和增量备份、ProxySQL实现读写分离

    Contents 1. MySQL5.7实现主从复制 1.1 基础环境 1.2. 配置主从复制 1.2.1. master节点上的配置 1.2.2. slave节点上的配置 1.2.3. 中继日志问题 ...

最新文章

  1. 解决WIN7下组播问题
  2. Win7 SP1 msado15 unresolved external symbol
  3. oracle统计数据库所有表的数据记录数SQL
  4. java word表格_java操作word的表格
  5. 一年收入多少才能支撑自驾环游中国?
  6. 【MySQL-5.7】日期与时间类型
  7. 方大东莞新材:实习总结报告PPT讲稿
  8. H5的HTML怎么制作制作页面,如何制作H5长页面?长页面H5制作教程!
  9. docker端口映射突然无效
  10. python怎么去掉视频字幕_用Python处理字幕文件
  11. OV7725之AL422B-FIFO及摄像头的驱动原理
  12. latex 包含于 包含
  13. 用python画满屏爱心_python怎么画爱心
  14. 程序设计:从圆的半径求得圆的面积
  15. 驱动器空间、关节空间与笛卡尔空间
  16. 进行范围查找的折半查找法
  17. poj 2942 Knights of the Round Table(双连通分量+tarjan+二分图判定)
  18. “测温枪”到底是怎样测出你的温度的?
  19. 电赛知识补充——电机篇
  20. Cypress的SDK与驱动安装

热门文章

  1. 视频时间太长,怎样快速剪辑缩短视频的时长
  2. oracle锁模式详解,oracle 锁讲解之一
  3. 战神引擎获取版本信息失败_传奇手游架设教程:战神引擎更新到100%卡住怎么办?解决办法分享...
  4. Keil环境下STM32定位hardfault位置方法(addr2line工具)和遇到的情况
  5. NKOJ4223 彩色方块 题解
  6. [附源码]java毕业设计汽车销售网站论文
  7. elasticsearch浏览器地址栏查看内容
  8. MATLAB易混淆之——角度弧度
  9. 雾霾停课期间一位老师写给学生的信
  10. php中怎么拼接,php中字符串的拼接用法详解