mysql企业级备份工具分为:
mysqlbackup 跨平台的备份工具,官方工具,可以支持热备份所有类型的存储引擎
idbackup 也是跨平台,支持热备份innodb存储引擎,仅仅备份数据文件和重做日志文件,如需要备份表结构,需要配置外部perl脚本innodbackup使用
innodbackup idbackup的外部调用脚本,支持备份innodb和和其他存储引擎
配置文件必须存在以下选项:
[mysqld]
datadir = /home/heikki/data
innodb_data_home_dir = /home/heikki/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /home/heikki/data
innodb_log_files_in_group=2
innodb_log_file_size=20M
如果之前配置文件没有这些选项,可以使用show varaiables like 'innodb%';
===========================================================================
全备份:
# ./innobackup --user=root --password=123 --ibbackup=/opt/mysql/meb-3.5/bin/ibbackup /etc/my.cnf /backup
/etc/my.cnf为当前需要备份的运行着的Mysql服务配置文件
/backup是备份集保存的根目录
备份到了/backup/2011-01-22_16-45-25/
增量备份
# ./innobackup --user=root --password=123 --incremental --lsn 1703093 --ibbackup=/opt/mysql/meb-3.5/bin/ibbackup /etc/my.cnf /backup/
---/backup 增量备份集保存的根目录
---备份到了/backup/2011-01-22_16-49-34/
恢复:
1、全备恢复
# ./innobackup --apply-log --user=root --password=123 --ibbackup=/opt/mysql/meb-3.5/bin/ibbackup /etc/my.cnf /backup/2011-01-22_16-45-25/
---数据文件和日志文件都恢复到备份目录中
---增量恢复:
# ./innobackup --user=root --password=123 --apply-log --incremental --ibbackup=/opt/mysql/meb-3.5/bin/ibbackup /backup/2011-01-22_16-49-34/backup-my.cnf /backup/2011-01-22_16-45-25/backup-my.cnf
--增量数据应用到全备的备份数据中。
---如果需要把恢复后的数据文件冷拷贝回原来的数据目录:
# ./mysqlbackup --user=root --password=123 --ibbackup=/opt/mysql/meb-3.5/bin/ibbackup --copy-back /etc/my.cnf /backup/2011-01-22_18-08-49/
---注意恢复好的数据木文件的权限。
---然后再根据备份集的记录的最优一个使用的进制日志和位置,用于增量数据恢复,如
# mysqlbinlog --start-position=969 mysql-bin.00001 | mysql -u root -p***
mysqlbackup用法和 ./innobackup一样,而且基本上连原理都一样,备份innodb数据库的时候,还是要idbackup命令实现,当备份myisam的数据库,会全局锁定所有数据库,然后进行在线拷贝数据文件。