您的位置:首页 > 数据库 > MySQL

xtrabackup备份mysql

2015-11-18 15:39 465 查看
安装percona-xtrabackup-2.1.5-680-Linux-x86_64.tar
解压即可把环境变量加上即可用,但是可能会有问题 需要安装percona-toolkit-2.2.15-2.noarch,和perl的相关组件

安装完成后查看my.cnf文件确认里面是否包含datadir路径,没有可能会报错

备份并打包压缩
innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/zztx.log | gzip 1>/data/back_data/zztx.tar.gz

说明:
--database=zztx 单独对zztx数据库做备份 ,若是不添加此参数那就那就是对全库做备份
2>/data/back_data/zztx.log 输出信息写入日志中
1>/data/back_data/zztx.tar.gz 打包压缩存储到该文件中

此处可以写个脚本做备份(backup.sh)
#!/bin/sh
echo "开始备份..."`date`
log=zztx01_`date +%y%m%d%H%M`.log
str=zztx01_`date +%y%m%d%H%M`.tar.gz
innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/$log | gzip 1>/data/back_data/$str
echo "备份完毕..."`date`

恢复数据

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*
进入数据库查看,一切OK~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: