zoukankan      html  css  js  c++  java
  • mysql数据的备份

    一、备份方式

    1、备份:逻辑备份(mysqldump,mydumper)、物理备份(xtrabackup、tar、cp、rsync)    2、冗余:主备模式、数据库集群

    二、备份对象

    1、数据(库、表)  2、日志文件

    三、物理备份(适合大型数据库,不受引擎的限制)实验用的是mariadb,步骤按mysql来

    1、percona-xtrabackup 物理备份 + binlog

    1.1下载软件包(超级慢 http://www.percona.com/software/percona-xtrabackup/ )

    #wget http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm(下载YUM源)

    #yum -y install percona-release-0.1-3.noarch.rpm(安装yum源)

    #yum -y install percona-xtrabackup-24.x86_64 (安装percona)

    注意:需要进入仓库把gpgcheck改为0

    #vim percona-release.repo

    # rpm -q  percona-xtrabackup-24  (查看版本)
    percona-xtrabackup-24-2.4.16-1.el7.x86_64

    1.2备份流程

    >grant all privileges on  *.* to 'root'@'localhost' identified by '密码';(授权自己定义)

    # innobackupex --user=root --password='5740##' /xtrabackup/full 

     [root@localhost ~]# cd /xtrabackup/full/ (备份目录)
    [root@localhost full]# ls
    2019-11-05_06-38-48

    #cat /xtrabackup/full/2017-08-01_00-00-18/xtrabackup_binlog_info  (二进制日志文件)

    1.3恢复流程

    #systemctl stop mysqld

     #innobackupex --apply-log /xtrabackup/full/2017-08-01_00-00-18/ (生成回滚日志)

    # innobackupex --copy-back /xtrabackup/full/2017-08-01_00-00-18/  (恢复文件)

     1.4增量备份(差异备份及其恢复大致一样)

    innobackupex --user=root --password='密码'   --incremental /xtrabackup/   --incremental-basedir=/xtrabackup/2017-09-01_00-00-04(basedir基于周一的备份。
    会生成一个今天的。)

    2、tar备份数据库(物理备份)

    2.1备份

    # systemctl stop  mariadb

    #  tar -cf /backup/`date +%F`-mariadb-all.tar  /var/lib/mysql (备份成功)

     2.2恢复

    # rm -rf /var/lib/mysql/*

    # tar -xf /backup/2016-12-07-mysql-all.tar  -C / (-C / 会让tar包恢复到原来的路径)

    # systemctl start mariadb
    3、Lvm快照实现物理备份 + binlog(物理备份))

     四、逻辑备份

    1、细节不在累述(看官网https://dev.mysql.com/doc/refman/5.7/en/reloading-sql-format-dumps.html

    [root@localhost ~]# mysqldump -p'密码'
    --all-databases --single-transaction     #保证导出的一致性状态--single-transaction
     --master-data=2     #master-data=2 注释掉日志记录
    --flush-logs
    >  /backup/`date +%F-%H`-mysql-all.sql

    2、恢复

     mysql  -p'密码' < /backup/2016-12-08-04-mysql-all.sql

  • 相关阅读:
    导入测试用例的设计
    质量管理的精髓
    ios crash的原因与抓取crash日志的方法
    怎样实现excel隔行隔列变色效果的方法
    如何提高员工的质量意识?
    史上最全的测试团队组建方法
    如何写好缺陷报告?
    你还不知道?这四个因素决定了你的养老金待遇!
    各手机截屏方法收集
    利用drozer进行Android渗透测试
  • 原文地址:https://www.cnblogs.com/zjz20/p/11775041.html
Copyright © 2011-2022 走看看