MEB是MySQL商业版中提供的备份工具,属于物理备份。
同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤:
备份(--backup)=> 应用日志(--apply-log)=> 恢复(--copy-back)
备份
# ./mysqlbackup --backup_dir=/backup --socket=/usr/local/mysql-advanced-5.6.23-linux-glibc2.5-x86_64/data/mysql.sock backup
在备份目录下,会生成以下文件
# ls
backup-my.cnf datadir meta server-all.cnf server-my.cnf
其中datadir和meta是目录,其它是变量配置文件
backup-my.cnf
官方解释如下:
Records the configuration parameters that specify the layout of the MySQL data files.
# cat backup-my.cnf
#
# Generated backup-my.cnf file.
# Auto generated by mysqlbackup program.
#
[mysqld]
innodb_data_file_path=ibdata1:12M:autoextend
innodb_log_file_size=50331648innodb_log_files_in_group=2innodb_page_size=16384innodb_checksum_algorithm=innodb
server-all.cnf
该文件记录了备份数据库的所有全局参数
server-my.cnf
该文件记录了备份数据库的非默认的全局参数
注意:在恢复数据库时,可使用server-all.cnf和server-my.cnf中的任意一个。如果需要将数据库恢复到非默认路径,还要修改路径相关的变量值。
再来看看meta目录中的文件
# ls meta/backup_content.xml backup_create.xml backup_gtid_executed.sql backup_variables.txt MEB_2016-09-27.10-49-21_backup.log
MEB_2016-09-27.10-49-21_backup.log
记录了此次备份的详细信息
backup_content.xml
记录了备份文件的元数据信息和数据库定义信息,同时还记录了备份数据库的plugin信息,恢复时必须确保这些插件在目标数据库中同样存在。
backup_create.xml
记录了备份操作的相关信息,包括备份命令,备份的时间,备份的目录,数据库的参数信息
上述两个文件可通过--disable-manifest选项禁用。
backup_gtid_executed.sql
因为备份数据库启动了GTID复制,故会生成该文件记录GTID的信息
# cat backup_gtid_executed.sql
# On anew slave, issue the following command ifGTIDs are enabled:
SET @@GLOBAL.GTID_PURGED='844e8202-8391-11e6-accb-000c29c64704:1-328944';
# Use the following commandifyou want to use the GTID handshake protocol:
# CHANGE MASTER TO MASTER_AUTO_POSITION=1;
backup_variables.txt
记录了备份的相关信息,该文件由mysqlbackup来控制的,譬如apply_log_done指示是否进行了apply-log操作
# cat backup_variables.txt
#
# This fileisauto generated by mysqlbackup.
#
[backup_variables]
start_lsn=98224128end_lsn=98227650apply_log_done=0is_incremental=0is_incremental_with_re