Mysql 备份神器--xtrabackup

Mysql数据库备份是个头疼的问题,特别是Innodb引擎的数据库。在业务没有多少时间给你备份的情况下,在数据比较大的情况下。Mysqldump的逻辑备份是多么坑爹,慢的让你自杀的心都有。那么神器Xtrabackup来了,他是由percona出品的,该工具安装后会有两个工具,xtrabackup和innobackupex。而xtrabackup支持Innodb引擎的热备份,不需要锁表,不支持MyIASM引擎。而innobackupex适合使用混合引擎的mysql数据库,可以同时处理Innodb和MyIASM引擎数据库,但是MyIASM会读锁。

1.安装

建议安装RPM包,官网会提供。下载地址:http://www.percona.com/software/percona-xtrabackup/downloads/

2.完整备份Innodb引擎

./xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/mydata/mybak/

3.恢复

 ./xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/mydata/mybak/

 ./xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/mydata/mybak/

执行两遍可以看到文件夹中会有数个ib_logfiles 和ibdata1

将他们copy到mysql datadir即可,要删除有问题的数据库文件和相关的文件哦。然后拷贝schema中的表结构到mysql datadir即可。

4.赋予权限,启动

chown -R mysql.mysql datadir

service msyql start

5.如果有mysql-binlog,可以继续用binlog恢复数据。

关于作者

帅哥,典型85后,会点Linux,目前就职深圳,运维攻城师,人生格言:许下承诺,面对挑战。 QQ:1687801110 E-mail:zhangping159@gmail.com

没有评论

发表一条评论