标签:xtrabackup 备份 mysql
安装组件
yum -y install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
访问http://www.percona.com/software/percona-toolkit/下载最新版本的Percona Toolkit
wget https://www.percona.com/downloads/percona-toolkit/2.2.15/RPM/percona-toolkit-2.2.15-1.noarch.rpm
从http://pkgs.repoforge.org/perl-TermReadKey/下载最新的TermReadKey包
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-3.el6.rfx.x86_64.rpm
先安装这个
rpm -ivh perl-TermReadKey-2.30-3.el6.rfx.x86_64.rpm
再安装这个
rpm -ivh percona-toolkit-2.2.15-1.noarch.rpm
安装XtraBackup
安装组件
yum -y install perl-Time-HiRes libaio* openssl*
yum clean all
安装xtrabackup
tar zxvf percona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz -C /usr/src/
mv /usr/src/percona-xtrabackup-2.2.9-Linux-x86_64 /usr/local/xtrabackup
添加文件链接
ln -s /usr/local/xtrabackup/bin/innobackupex /usr/bin/innobackupex
ln -s /usr/local/xtrabackup/bin/xtrabackup /usr/bin/xtrabackup
ln -s /usr/local/xtrabackup/bin/xbcrypt /usr/bin/xbcrypt
ln -s /usr/local/xtrabackup/bin/xbstream /usr/bin/xbstream
查看版本
xtrabackup -v
测试备份指定库test
innobackupex --user=root --socket=/data/3306/mysqld.sock --defaults-file=/usr/local/mysql/my.cnf --databases=test --stream=tar /backup/mysql 2>/backup/mysql_innobackup.log | gzip > /backup/mysql/`date +%Y%m%d`.tar.gz
常用参数如下:
--user=root 备份操作用户名,一般都是root用户
--password=root123 密码,因为默认密码是空的,所以我没有加这个参数
--socket=/data/3306/mysqld.sock 指定sock文件
--defaults-file=/usr/local/mysql/my.cnf 指定配置文件
--port=3306 指定端口
--host=172.17.210.112 主机ip,本地可以不加
--databases=test 指定备份的数据库,如果没有这个参数,就是所有数据库
--parallel=4 --throttle=400 并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。
--stream=tar 压缩类型,这里选择tar格式,可以加,可不加。加上文件就小一点,在备份的时候就已经打包好了。
/backup/mysql/1 备份存放的目录
2>/backup/mysql/innoback.log 备份日志,将备份过程中的输出信息重定向到bak.log
1>/backup/mysql/1/`date +%Y%m%d`.tar.gz 备份文件压缩后的名字
编写脚本
#!/bin/bash
echo "###############################" >> /backup/mysql.log
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime mysql开始备份" >> /backup/mysql.log
time=`date +%Y%m%d`
innobackupex --user=root --socket=/data/3306/mysqld.sock --defaults-file=/usr/local/mysql/my.cnf --stream=tar /backup/mysql 2>/backup/mysql_innobackup.log | gzip > /backup/mysql/$time.tar.gz
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime mysql备份完成" >> /backup/mysql.log
#删除3天前的备份文件
find /backup/mysql -mtime +2 -type f -name "*.tar.gz" -exec rm {} \;
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1693176
标签:xtrabackup 备份 mysql
原文地址:http://xiao987334176.blog.51cto.com/2202382/1693176