zoukankan      html  css  js  c++  java
  • xtractbackup的全量备份和增量备份

    1. 完全备份

    创建用于备份恢复的用户 pxb 并赋予权限
    mysql> create user pxb@'localhost' identified by '123456';
    mysql> grant reload,process,lock tables,replication client on *.* to pxb@localhost;

    进行数据库全备

    创建存放目录
    [root@centos6 mysql]# mkdir -pv /data/pxb
    mkdir: 已创建目录 "/data/pxb"
    [root@centos6 pxb]# innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock  /data/pxb 

    2. 全备恢复

    把目标数据库停了
    /etc/init.d/mysqld stop
    
    
    准备(prepare)一个完全备份: --apply-log ( /data/pxb/2021-04-24_02-46-11/ 为备份目录,执行之后 xtrabackup_checkpoints 文件中的 backup_type = full-prepared )
    [root@centos6 mysql]# innobackupex --apply-log /data/pxb/2017-04-24_02-46-11/

    更改 data/ 目录权限并启动mysql:

    [root@centos6 mysql]# chown -R mysql.mysql 、data/
    
    开始目标数据库
    [root@centos6 data]# /etc/init.d/mysqld start

    3. xtrabackup 增量备份恢复

    ##新建一张表,并插入数据作为增量##
    
    mysql> create table tb2 (id int,name varchar(40)); 
    
    mysql> insert into tb2 values (1,'aaa'),(2,'bbb'),(3,'ccc'),(26,'zzz');
    增量备份1:( 以全备为基准:/data/pxb/2021-04-24_02-46-11/ )
    [root@centos6 pxb]# innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock --incremental /data/pxb/inc --incremental-basedir=/data/pxb/2021-04-24_02-46-11/ --parallel=2

    再往 tb2 里插入数据:

    mysql> insert into tb2 values (201,'aaa'),(202,'bbb'),(203,'ccc'),(326,'zzz');

    增量备份2:( 以增量1为基准:/data/pxb/inc/2021-04-28_01-09-40/ )

     
    innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock --incremental /data/pxb/inc --incremental-basedir=/data/pxb/inc/2021-04-28_01-09-40/ --parallel=2
    用一个例子来演示会更加清晰
  • 相关阅读:
    Linux基础优化(二)
    权限
    分页
    序列化
    forms
    redis
    Django缓存机制
    跨域问题
    Django的ORM
    模板层
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/14531113.html
Copyright © 2011-2022 走看看