xtrabackup简析-创新互联
xtrabackup:
xtrabackup是由percona公司开发的。对innoDB引擎支持非常好。在备份的时候不用锁表。如果是MYiSAM引擎的,则需要锁表。
xtrabackup 是复制 ib_logfile0(ib_logfile1)事务日志来实行复制的。此外,还提供了perpare 功能。在恢复的时候还可以和数据库数据比对。如果有更新的则更新到备份中。避免了数据的丢失。同时还提供了压缩机制减少存储压力。
官网下载rpm包地址:https://www.percona.com/downloads/XtraBackup 也 可以yum安装
yum方式安装:(以下是官网提供的制作yum源的方法)
构建yum仓库
#yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
(此时:/etc/yum.repos.d/目录下多个仓库 percona-release.repo)
# yum list | grep percona (查看软件包)
安装 #yum install percona-xtrabackup-20.x86_64 -y (这里选择 20版本的)
备份:
innobackupex是perl脚本对xtrabackup的封装,和功能扩展。xtrabackup需要连接到数据库和datadir操作权限。
命令:# innobackupex --user=root --defaults-file=.../my.cnf /mnt
#user 是数据库的用户(非系统的root) 有密码 的还可以加参数 --password=
# --defaults-file 如果不设置会自动设置为 /etc/my.cnf(如果多实例需要注意)
--database= 单独对某个数据库做备份 ,若是不添加此参数那就那就是对全库做备份
#/mnt是将备份存放的目录
恢复:(可以把 数据文件夹下的文件清空 ,但是保留数据文件夹)
# innobackupex --copy-back /mnt/2017-02-13_17-05-08/
这里如果my.cnf文件位置不在/etc下。需要 加参数 --default-file=.../my.cnf
如果在备份的同时数据库依旧在写入操作。则需要 prepare 操作。(回滚日志)
先是:prepare 操作,分析事物日志。然后在恢复。
--user-memory:指定prepare阶段可使用的内存,内存多则速度快,默认为10MB
# innobackupex --apply-log /mnt/2017-02-13_17-05-08/
# innobackupex --copy-back /mnt/2017-02-13_17_05_08/
修改data目录的属组和属主:# chown -R mysql:mysql ../data
不然启动的时候会提示找不到 。pid 文件。
启动服务即可。
压缩备份:(流操作)
#innobackupex --user=root --stream=tar --defaults-file=/etc/my.cnf /mnt|gzip ->/mnt/mysql.tar.gz
这里的defaults-file 可以省略。如果配置文件在别处需要。指定。
可用参数:
--parallel=4: 加速备份,这个选项会指定xtrabackup备份文件的线程数。
特别注意的是:这里解压文件 需要参数 i
tar zixf ......tar.gz 不然解压会出错。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:xtrabackup简析-创新互联
URL网址:http://cdiso.cn/article/dehhio.html