当前位置:Gxlcms > 数据库问题 > xtraBackup备份mysql

xtraBackup备份mysql

时间:2021-07-01 10:21:17 帮助过:21人阅读


访问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

标签:xtrabackup   备份   mysql   

人气教程排行