MYSQLBACKUP工具的使用

  1. 概述:

    前面有介绍过MYSQLBACKUP工具的安装(http://blog.itpub.net/12679300/viewspace-1262774/),今天继续和大家分享下MYSQLBACKUP工具的简单实用;

     

  2. MYSQL备份的相关概念

    数据库的备份相关的概念中最常见的是备份的方式和备份的文件类比,MYSQL总结如下:

    备份的类型:完全备份和增量备份;

    备份的文件:备份文件和镜像拷贝

    Apply-log:数据库在备份是个过程,所有的数据在不同时间点被备份,如果这个时候数据库还有写的操作,那么数据库的备份是不一致的;apply-log会记录整个过程中的相关log;在进行恢复的时候会把已经提交的事务写入数据文件,把没有提交的事务进行回滚。

    增量备份apply-incremental-backup 不会对redo log 中没有提交的事务进行回滚,可能下次增量备份事务已经提交了。

    这个apply-log过程你可以在任何机器上运行,没有强制在线上或者备份库上运行,你可以把备份复制到闲置的服务器上去运行apply-log,以此来降低备份库的压力,不过,你必须保证backup和apply-log所使用的mysqlbackup的版本要一致

     

  3. 参数说明

输入mysqlbackup --help,可以看到所有参数的说明,总结如下:

备份操作: backup, backup-and-apply-log, backup-to-image

备份校验操作: apply-log, apply-incremental-backup

恢复操作: copy-back, copy-back-and-apply-log

单文件备份操作: image-to-backup-dir, backup-dir-to-image, list-image,extract, validate

指定全备目录:–backup-dir

指定增量备份目录:–incremental-backup-dir

指定备份类型:–incremental

指定本次增量备份基于上次全备或者增量备份目录:–incremental-base

指定本次增量备份基于上次全备或者增量备份的LSN 号:–start-lsn

基于时间戳的备份目录:–with-timestamp

指定压缩备份:–compress

指定解压缩:–uncompress

 

  1. 数据库备份的操作

    例一:基于全备目录进行全备

mysqlbackup --user=root --password --backup-dir=/backup backup-and-apply-log

  • 备份目录/backup
  • 备份的方式:backup
  • 备份的类型:数据库全备并包括apply-log

这是简单的数据库的全备,可以在这个脚本增加相应的参数,实现各种业务功能。

 

--with-timestamp:根据时间产生一个备份文件

脚本:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup backup-and-apply-log

--compress:压缩备份

脚本:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup --compress backup

 

例二:增量备份

mysqlbackup --user=root --password --incremental --incremental-base=dir:/backup/2014-11-12_09-26-27 --incremental-backup-dir=/backup/2014-11-12_09-26-27/thursday backup

压缩了77.06%,效率很高;

  • --incremental:代表增量备份;
  • --incremental-base:上次全备的目录;
  • --incremental-backup-dir:增量备份的保存的目录

 

  1. 数据库的还原操作

    需要在数据库处于关闭的状态下恢复!

    1. 恢复一个全备MySQL 实例

mysqlbackup --defaults-file=/backup/2014-11-12_09-26-27server-my.cnf --datadir=/data/mysql --backup-dir=/backup/2014-11-12_09-26-27 copy-back

 

总结:以上的操作纯属简单的数据库备份恢复的了解,实际生产系统的备份不是简单的这么一条语句就搞定的,需要考虑到几个问题:什么系统、故障时需要多长时间恢复、允许丢失的数据量、数据库的大小、日志产生的频率、备份空间的大小等等。。。。。。

 

*********************************************************************************************************************

本文作者:JOHN QQ:1916066696 (请备注数据库)

ORACLE技术博客:ORACLE 猎人笔记 http://blog.itpub.net/12679300/

请扫描加微信号!

********************************************************************************************************************

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。