使用xtrabackup实现mysql备份

作者:hebedich 时间:2024-01-21 07:57:57 

下载地址:https://www.percona.com/downloads/XtraBackup/

安装xtrabackup


[root@node1 ~]# yum install percona-xtrabackup

完全备份

节点一

修改配置文件,设置为每张表单独一个表空间,此项必须在安装数据库的时候就设置


[root@node1 ~]# vim /etc/my.cnf
[mysqld]
innodb_file_per_table=ON

创建备份目录


[root@node1 ~]# mkdir /backpus/

备份


[root@node1 ~]# innobackupex --user=root /backpus/

复制给节点2


[root@node1 ~]# scp -r /backpus/2016-07-13_20-27-04 192.168.1.114:/root/

节点二

(节点二的mysql安装后不要启动,启动后因生成有初始化文件无法还原)


[root@node2 ~]# yum install percona-xtrabackup

把备份文件移动到/backups目录下


[root@node2 ~]# mkdir /backups/
[root@node2 ~]# mv 2016-07-13_20-27-04/ /backups/

对备份文件进行整理


[root@node2 ~]# innobackupex --apply-log /backups/2016-07-13_20-27-04/

还原


[root@node2 ~]# innobackupex --copy-back /backups/2016-07-13_20-27-04/

修改文件权限


[root@node2 ~]# chown -R mysql:mysql /var/lib/mysql/*

增量备份

修改数据


[root@node1 ~]# mysql
MariaDB [(none)]> use hellodb;
MariaDB [hellodb]> create table xxoo2 (id int);
MariaDB [hellodb]> insert into xxoo2 values (1),(10),(83);

对之前完全备份的文件进行增量备份

[root@node1 ~]# innobackupex --incremental /backpus/ --incremental-basedir=/backpus/2016-07-13_20-27-04

对完全备份做只读,为增量和完全合并做准备

[root@node1 ~]# innobackupex --apply-log --redo-only /backpus/2016-07-13_20-27-04/

合并增量到完全中

[root@node1 ~]# innobackupex --apply-log --redo-only /backpus/2016-07-13_20-27-04/ --incremental-dir=/backpus/2016-07-13_23-13-25/

查看增量备份文件


[root@node1 ~]# less /backpus/2016-07-13_23-13-25/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1642047
to_lsn = 1646912
last_lsn = 1646912
compact = 0

查看完全备份文件


[root@node1 ~]# less /backpus/2016-07-13_20-27-04/xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
to_lsn = 1646912
last_lsn = 1646912
compact = 0

之后如果有新的增量备份文件还可以继续在完全备份文件上合并 还原时将完全备份文件拿去还原即可

注意:mysql的访问权限, * 作过程中多次出现错误,都是在mysql数据库的属主和属组权限出现的问题。

标签:xtrabackup,mysql
0
投稿

猜你喜欢

  • Python3.x对JSON的一些操作示例

    2022-08-09 00:23:54
  • 以用户为中心的WEB表单

    2010-08-03 12:11:00
  • Python爬虫:url中带字典列表参数的编码转换方法

    2021-11-02 17:50:45
  • bootstrap改变按钮加载状态

    2023-07-02 05:24:48
  • flash与asp/php/asp.net通信的方法第1/3页

    2023-11-15 03:43:03
  • jquery ajax 局部无刷新更新数据的实现案例

    2024-05-02 17:05:08
  • Go语言使用Gob传输数据

    2023-08-06 05:12:28
  • Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计

    2023-09-25 13:01:40
  • Python实战之设计一个多功能办公小工具

    2023-05-26 02:54:11
  • 使用 python pyautogui实现鼠标键盘控制功能

    2023-11-17 07:01:41
  • Python图片存储和访问的三种方式详解

    2021-01-27 08:18:22
  • 详解git使用小结(本地分支与远程分支、git命令)

    2022-03-05 21:22:32
  • Python中正则表达式的用法总结

    2021-04-23 17:04:49
  • python Django里CSRF 对应策略详解

    2021-02-15 20:36:19
  • python tkinter界面居中显示的方法

    2023-10-14 11:16:18
  • Python的UTC时间转换讲解

    2023-08-20 03:07:42
  • python读取目录下所有的jpg文件,并显示第一张图片的示例

    2023-06-21 16:31:58
  • python中IO流和对象序列化详解

    2023-07-02 17:59:22
  • oracle中rownum和row_number()

    2024-01-12 19:21:37
  • Python统计可散列的对象之容器Counter详解

    2023-09-23 18:30:50
  • asp之家 网络编程 m.aspxhome.com