MySQL之备份和恢复(msyqldump、LVM、xtrabackup)

备份类型:
    根据备份时是服务器是否在线:
        热备份(HOT):
            读写操作不受影响
        温备份(WARM):
            进可以执行读操作,写操作不能执行
        冷备份(COLD):
            读写操作均不能进行

根据备份时对数据文件的操作:
        物理备份:
            直接复制数据文件。速度快,但是跨平台移植可能受到底层文件系统格式的影响。
        逻辑备份:
            将数据导出至文本文件中。速度慢。但是保存文件中会丢失浮点数精度。可以使用文本处理工具进行二次处理。移植性强。备份出来的数据可能比原数据占用空间还大。

根据备份时的数据大小:
        完全备份(full):备份全部数据
        增量备份(incremental):仅备份上次完全备份或增量备份后变化的数据。
        差异备份(differnetial):仅备份上次完全备份以来变化的数据。占用空间比增量大。

增量备份和差异备份的区别:
            虽然都是对变化的数据备份,但是增量在还原时要还原此前一系列的增量+完全备份的内容。差异备份还原时只要选择最近一个备份+完全备份的内容即可。
 

需要备份的东西:
    数据、服务器配置文件、二进制日志、事务日志

二进制日志注意点:
        备份时除了使用FLUSH LOGS以外,建议将sync_binlog的值设置为1,这样可以在安全性上保证事务不会没有写入日志。

还原的时候先暂时关闭二进制日志记录功能,还原过程没必要记录二进制日志中。


备份策略:
    考虑以下2点:
        1.数据在某个周期的变化量
        2.数据还原是所需时间

备份方案:
    完全+增量
    完全+差异

热备份:
    MyISAM:不支持热备份,可以使用温备份
    InnoDB:支持热备。可以使用xtrabackup(物理备份)和MySQLdump等工具。

备份工具:
    MYSQL自带:
        mysqldump  逻辑备份,对MyISAM可以实现温备份。InnoDB可以实现热备。

mysqlhotcopy  物理备份,冷备份工具。基于perl脚本,使用FLUSH TABLES和LOCK TABLES以及scp完成备份。

SELECT INTO OUTFILE SELECT语句,只能对单张表操作。

文件工具:
        cp
            冷备份,直接复制文件
        lvm
            使用逻辑卷快照功能,实现几乎热备。需要手工执行FLUSH TABLES 和LOCK TABLES,然后创建快照,创建完成后执行UNLOCK TABLES,复制快照文件。
            注意:MyISAM可以直接锁表,但是对InnoDB而言,因为可能会涉及到事务的操作,例如从日志同步到磁盘中,或者事务未同步到磁盘中。此时如果锁表还得等待事务同步完成。


    商业工具:
        ibbackup
            InnoDB

开源工具:
        xtrabackup


#mysqldump [OPTION] DBNAME[TBNAME1,...]
    默认要提前手工创建数据库,因为备份中不包含CREATE DATABASE命令。

[OPTION]
        -u USERNAME
        -p PASSWORD
        -h HOST
        --master-data = 0|1|2 是否记录当前的二进制文件和事件位置
            0 不记录二进制日志文件及其事件位置
            1 以CHANGE MASTER TO的方式记录位置,可用于恢复后直接启动从服务器。
            2 以CHANGE MASTER TO的方式记录位置,但是记录默认被注释。

--lock-all-tables 锁定所有表
        --lock-tables
        --flush-logs 执行日志滚动
        --single-transaction 启动热备事务,适用于InnoDB,借助于MVCC生成一个隔离级别为REPEATABLE-READ的事务。这样无论后台如何变化,看到的数据都不会发生变化。 会自动处理表锁,不能和--lock-all-tables或者--lock-tables同时使用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e625e449a7fd39c619fdce28de2b182a.html