mysql备份热备工具
2011-03-03 10:24
351 查看
xtrabackup是一个开源的MySQL热备份工具,可以实现不加锁备份。它可以备份InnoDB,XtraDB以及MyISAM。在http://www.percona.com/docs/wiki/percona-xtrabackup:start可以下载到最新的安装文件。ubuntu下的安装的方法见http://uguptablog.blogspot.com/2010/01/intalling-xtrabackup-10-on-ubuntu-910.html
安装完之后会得到2个可执行文件innobackupex-1.5.1和xtrabakup,你可以拷贝到/usr/local/bin下面。xtrabakup只能备份InnoDB和XtraDB,而innobackupex-1.5.1是对xtrabackup的一个封装,可以用来备份MyISAM,但是不直接支持增量备份,xtraback直接支持增量备份。
1.innobackupex的使用
我们先创建两个数据库,一个test数据是已经有的,里面创建一个innodb表stu。然后创建一个myisam_test数据库,里面是一个mysiam类型的表color。
现在我们来备份这两个数据库。操作的语句如下:
上面提示备份过程,记录下bin-log的位置,以后恢复的时候就会从这个位置开始重做,以至完全恢复。下面是备份生成的文件:
备份后又插入几条数据:
现在模拟恢复过程:
现在就恢复到了备份的那一时刻,注意恢复的过程要启动MySQL。要想恢复到现在,还需要根据前面的bin-log的位置对后面的内容进行重做,这个和逻辑备份是一样的,请参考http://www.sugarsfree.org/?p=254,像我们这种使用drop属于误操作,需要根据位置进行恢复,跳过误操作的语句。
不然恢复的时候又重做了drop,刚恢复好的又被删除了。
压缩备份:
压缩备份其实就是将备份的数据进行压缩,恢复的时候先tarizxvf解压一下再恢复,后面就一样了。命令为:
安装完之后会得到2个可执行文件innobackupex-1.5.1和xtrabakup,你可以拷贝到/usr/local/bin下面。xtrabakup只能备份InnoDB和XtraDB,而innobackupex-1.5.1是对xtrabackup的一个封装,可以用来备份MyISAM,但是不直接支持增量备份,xtraback直接支持增量备份。
1.innobackupex的使用
我们先创建两个数据库,一个test数据是已经有的,里面创建一个innodb表stu。然后创建一个myisam_test数据库,里面是一个mysiam类型的表color。
1 | mysql> select * from stu; |
2 | + ------+------+ |
3 | |id| name | |
4 | + ------+------+ |
5 | |1|a| |
6 | |2|b| |
7 | |3|c| |
8 | |4|d| |
9 | + ------+------+ |
10 | 4 rows in set (0.00sec) |
11 |
12 | mysql> select * from color; |
13 | + ------+-------+ |
14 | |id| name | |
15 | + ------+-------+ |
16 | |1|red| |
17 | |2|green| |
18 | + ------+-------+ |
19 | 2 rows in set (0.00sec) |
1 | thwu@ubuntu:~/programs/mysql/bin$innobackupex-1.5.1--defaults- file =/home/thwu/programs/mysql/my.cnf--no-lock--user=root--port=8099--password= "xxxx" --databases= "testmyisam_test" /home/thwu/backup/innobackupex/2>/home/thwu/backup/innobackupex/backup1.log |
2 |
3 | xtrabackupVerundefinedRevundefined for 5.0.84pc-linux-gnu(i686) |
4 | Copying/home/thwu/programs/mysql-5.1.48/var/ibdata1 |
5 | to/home/thwu/backup/innobackupex/2010-11-10_16-57-29/ibdata1 |
6 | ... done |
7 | Copying./ test /innodb_monitor.ibd |
8 | to/home/thwu/backup/innobackupex/2010-11-10_16-57-29/ test /innodb_monitor.ibd |
9 | ... done |
10 | Copying./ test /stu.ibd |
11 | to/home/thwu/backup/innobackupex/2010-11-10_16-57-29/ test /stu.ibd |
12 | ... done |
13 | xtrabackup:Thelatestcheckpoint( for incremental): '0:44243' |
14 | xtrabackup:Stoppinglogcopyingthread. |
15 | xtrabackup:Transactionlogoflsn(044243)to(044032)wascopied. |
1 | thwu@ubuntu:~/backup/innobackupex$ ls |
2 | 2010-11-10_16-57-29backup1.log |
3 | thwu@ubuntu:~/backup/innobackupex$ cd 2010-11-10_16-57-29/ |
4 | thwu@ubuntu:~/backup/innobackupex/2010-11-10_16-57-29$ ls |
5 | backup-my.cnfibdata1myisam_testmysql-stderrmysql-stdout test xtrabackup_checkpointsxtrabackup_logfile |
1 | insert into stu values (5, 'e' ),(6, 'f' ); |
2 | insert into color values (3, 'blue' ),(4, 'white' ); |
1 | mysql> drop database myisam_test; |
2 | mysql> drop database test; |
1 | ./shutdown_mysql.sh |
2 | rm ibdata1 |
3 | rm ib_logfile* |
4 | ./start_mysql.sh |
5 |
6 | #为恢复做准备,产生新的日志文件 |
7 | innobackupex-1.5.1--apply-log--defaults- file =/home/thwu/programs/mysql/my.cnf--no-lock--user=root--port=8099--password= "xxxx" /home/thwu/backup/innobackupex/2010-11-10_16-57-29 |
8 | #拷贝日志数据文件回原来的位置 |
9 | innobackupex-1.5.1--copy-back--defaults- file =/home/thwu/programs/mysql/my.cnf--no-lock--user=root--port=8099--password= "xxxx" /home/thwu/backup/innobackupex/2010-11-10_16-57-29 |
10 |
11 | ./shutdown_mysql.sh |
12 | #根据需要改mysql数据文件目录的权限 |
13 | ./start_mysql.sh |
不然恢复的时候又重做了drop,刚恢复好的又被删除了。
压缩备份:
压缩备份其实就是将备份的数据进行压缩,恢复的时候先tarizxvf解压一下再恢复,后面就一样了。命令为:
1 | innobackupex-1.5.1--defaults- file =/home/thwu/programs/mysql/my.cnf--no-lock--user=root--port=8099--password= "xxxx" --databases= "testmyisam_test" --stream= tar /home/thwu/backup/innobackupex/2>/home/thwu/backup/innobackupex/backup2.log| gzip >/home/thwu/backup/innobackupex/2010_11_16. tar .gz |
相关文章推荐
- 无用mysql备份热备工具
- mysqlhotcopy 热备工具体验与总结
- mysql定时数据备份工具(c#)
- MySQL备份工具percona-xtrabackup安装
- MySQL[3] 在线热备工具Xtrabackup
- Mysql的冷备热备(数据备份)
- mysql自动备份工具
- MySQL 5.7 mysqlpump 备份工具
- MySQL备份恢复工具mysqldump
- MySQL多线程逻辑备份工具之mydumper
- mysql物理备份工具Xtrabackup安装配置
- mariadb 的查询、创建、修改、备份、删除、重置密码、授权、mysql的图形管理工具phpmyadmin
- MySQL 数据库备份种类以及常用备份工具汇总
- MySQL备份之mysqlpump工具备份
- mysql 多线程备份工具mydumper 备份测试(含与mysqldump的对比)
- mysqlhotcopy 热备工具体验与总结
- mysql之 percona-xtrabackup 2.4.7安装(热备工具)
- mysql5.7 innodb数据库备份工具Xtrabackup的安装
- Mysql开源备份工具Xtrabackup备份部署
- 自动备份 MySQL 数据库的工具 - MySQL Backup Tool