Mysqlbackup 备份详解(MySQL官方备份工具)

2014-11-24 18:54:03 · 作者: · 浏览: 0

A.1全库备份.


命令:


mysqlbackup --defaults-file=/home/mysql-server/mysql3/my.cnf --user=root --password=root --databases="mysql total2" --with-timestamp --backup-dir=/home/mysql-server/backup backup


参数说明:


--defaults-file my.cnf文件的路径,主要用于一台服务器多个mysql服务.默认位置是/etc/my.cnf


--user 用户名,这个用户必须在mysql库里面有创建table和查询,插入的权限.在备份的过程中.mysqlbackup会在mysql库下建立backup_history, backup_progress.用户保留备份的历史信息和备份的基础信息.


--password密码


--database 需要备份的数据库,要备份多个数据库需要用””包括起来,每个数据库中间用空格分开


--with-timestamp用户创建一个备份目录下面当前时间的文件夹,如果没有这个参数,多次备份时,制定同一个目录,会使上一次备份的文件覆盖掉.


--backup-dir备份的目录


Backup 表明,这是备份操作


A.2全库还原.


第一步:检测事务日志


Mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --backup-dir=/home/mysql-server/backup/2012-03-21_14-01-34/ apply-log


参数说明:


apply-log:因为在备份的时候是在线的,如果有新插入的SQL语句,会记录新增加的LSN,然后新修改的页面会放到这个文件里面(ibbackup_logfile,同时也会放到表空间里面.当还原使用这个参数的时候,mysqlbackup会检测ibbackup_logfile和表空间的LSN,然后比较ibbackup_logfile文件表空间LSN的差值,把这个值放到事务日志LOG里面.(事务日志如果填满了,会进入表空间的)


第二步:copy物理文件


mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --backup-dir=/home/mysql-server/backup/2012-03-21_14-01-34/ --innodb_log_files_in_group=2 copy-back



B.1 压缩全库备份


mysqlbackup --defaults-file=/home/mysql-server/mysql3/my.cnf --user=root --password=root --compress-level=1 --databases="mysql total2" --with-timestamp --backup-dir=/home/mysql-server/backup backup



参数说明:


--compress-level=1


1为快速压缩.共有9个等级


B.2压缩还原


第一步:检测事务日志,并解压


mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --uncompress --backup-dir=/home/mysql-server/backup/2012-03-21_14-08-33/ apply-log


uncompress解压压缩后的文件.


第二步:copy物理文件


mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --innodb_log_files_in_group=2 --backup-dir=/home/mysql-server/backup/2012-03-21_14-08-33/ copy-back


增量备份不支持压缩. backup-and-apply-log参数不能跟--compress-level同用