使用Percona XtraBackup备份MySQL

日期: 2013-03-07 作者:chinaearl 来源:TechTarget中国 英文

  Percona XtraBackup是一款开放源码,免费的MySQL热备份软件,以非阻塞方式执行备份InnoDB和XtraDB为存储引擎的数据库,是商业备份工具InnoDB Hotbackup的一个很好的替代品。作者的前一家公司就花了不菲美元买了Hotbackup产品。

    下载地址:http://www.searchdatabase.com.cn/software/content_10241.htm

  可以实现以下优点:

  • 快速,可靠地完成备份
  • 在备份过程中不影响事务处理
  • 节省磁盘空间和网络带宽
  • 自动验证备份的数据库
  • 数据库 快速恢复,保证更高的正常运行时间

  XtraBackup Percona服务器时,MySQL,MariaDB的,和小雨的所有版本MySQL的热备份。进行流式处理,压缩,增量MySQL备份。

  文件解压后,目录里安装上两个有用的工具:xtrabackup,innobackupex-1.5.1:

  • xtrabackup可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam。
  • innobackupex-1.5.1是一个脚本封装,能同时处理innodb和myisam,但在处理myisam时需要加一个读锁。

  所以一般有myisam引擎的数据库都使用后者来进行备份

  下面是我的备份脚本

#!/bin/bash
date=`date -I`
mysqlUser=root
mysqlPWD=’111′
innobackupex-1.5.1 –defaults-file=/etc/my.cnf –user=$mysqlUser –password=$mysqlPWD 2>>/backup/mysql/backup.log –stream=tar ./ | gzip -> /backup/mysql/mysql-$date.tar.gz

  恢复数据

  1) 先停止数据库:service mysqld stop

  2) 解压

tar -izxvf zztx.tar.gz -C /data/back_data/db/ 

  (没有db ,需要mkdir /data/back_data/db/)

    3) 恢复

innobackupex –user=root –password –defaults-file=/etc/my.cnf –apply-log /data/back_data/db/

    (–apply-log选项的命令是准备在一个备份上启动mysql服务) 

innobackupex –user=root –password –defaults-file=/etc/my.cnf  –copy-back /data/back_data/db/  

    (–copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文 件里规定的初始位置。)

  4) 赋权 chown -R mysql.mysql /var/lib/mysql/*

  5) 重启数据库 service mysqld restart

  6) 删除垃圾 cd /var/lib/mysql/ && rm xtrabackup*

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐