安装:
yum install -y cmake gcc gcc-c++ libaio boost libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel perl-DBD-MySQL perl-Time-HiRes (2台上都执行)
yum -y install lz4
yum -y install nc
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
机器1版本
172.1.1.1/CentOS release 6.7 /Linux version 2.6.32-573.18.1.el6.x86_64
下载rpm安装包
wget
安装
rpm -ivh percona-xtrabackup-24-2.4.2-1.el6.x86_64.rpm
执行备份
innobackupex --defaults-file=/data/mysql_5623/data/my.cnf --user=root --password=123 --socket=/data/mysql_5623/tmp/mysql.sock --parallel=4 --stream=xbstream /tmp 2>>/tmp/mysqlbackup.log | lz4 -B4 | nc 192.168.7.1 8888
解释命令
--user=root 备份用户,一般用root
--password=123 密码
--host=172.17.210.112 主机ip,本地可以不加
--parallel=4 --throttle=400 并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。
--stream=xbstream 压缩类型,可以加,可不加。加上文件就小一点,在备份的时候就已经打包好了。
/tmp 备份存放的目录
2>/tmp/mysqlbackup.log 备份日志,将备份过程中的输出信息重定向到bak.log
lz4 高效压缩
nc 连远程的机器,监听的店口是8888
机器2版本:
172.1.1.2/CentOS release 5.8 (Final)(cat /etc/redhat-release ) /Linux version 2.6.18-308.el5 (cat /proc/version)
因为两个机器的版本不同,上面那个rpm在本台上安装不上,所以用的一下安装方法
下载rpm安装包:
wget
安装:
rpm -ivH percona-release-0.1-3.noarch.rpm
yum install percona-xtrabackup-24
mkdir /data/mysql_5623/backup/xtr
cd
/data/mysql_5623/backup/xtr
nc -l 8888 | lz4 -B7 -d | xbstream -x 监听远程的8888端口,将备份放到当前目录,解压
恢复
innobackupex --defaults-file=backup-my.cnf --apply-log --use-memory=1G --no-lock .
cat backup-my.cnf 文件里的参数要和 my.cnf 里的设置一样
mv /data/mysql_5623/data/ /data/mysql_5623/dataold
mv xtr/ /data/mysql_5623/data
cp /data/mysql_5623/dataold/my.cnf /data/mysql_5623/data/
chown -R mysql:mysql /data/mysql_5623/data
/etc/init.d/mysql5623 start
######################################################
如果再用innobackup执行备份时加上--compress --compress-threads=8 参数,文件是被压缩的
columns_priv.frm.qp general_log.CSM.qp
help_topic.frm.qp proc.frm.qp
.......
slow_log.CSM.qp time_zone_name.frm.qp
需要解压后正常使用,用到的解压工具是qpress
下载后解压就可以用
tar xvf qpress-11-linux-x64.tar
mv qpress /usr/bin/
chmod 777 /usr/bin/qpress
qpress 备份文件 解压后的目录
for f in `find ./ -iname "*\.qp"`;do qpress -dT2 $f $(dirname $f) && rm -f $f;done //批量解压
解压完成后执行“恢复后的操作”
阅读(1997) | 评论(0) | 转发(0) |