xtrabackup备份MySQL并主从同步

为什么要使用xtarbackup?

        mysqldump备份数据库的时候,会锁库锁表,导致业务服务的暂时停滞,数据库数量小还没有感觉,当数据超过几个G的时候,使用mysqldump会严重影响服务器性能,阻塞mysql访问,明显影响一段时间业务。

        xtrabackup直接读取磁盘中物理数据进行备份,不会锁库锁表,不会影响事物一致性,备份快,恢复快。生产环境中大数据量数据库建议使用。

xtarbackup安装

        yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm -y 

        yum install libev -y

        yum install percona-xtrabackup-24 -y

xtrabackup备份数据库

备份数据库文件:

        xtrabackup --backup --datadir=/data/mysql3306 --target-dir=/data/dbback/`date +%F` -uroot -p'passwd

        datadir为my.cnf中配置的datadir,target-dir可自行指定

初始化数据库文件:

        xtrabackup --prepare --target-dir=/data/dbback/`date +%F`

打包数据文件:

        cd /data/dbback && tar zcf `date +%F`.tar.gz `date +%F`

xtrabackup恢复数据库

        停掉新建的mysql

        解压压缩包,把压缩包中所有的内容rsync到mysql的数据目录中(PS:删除数据文件的动作可替换为mv,或者cp一份)

        rsync -avrP /data/dbback/2017-06-12/* /data/mysql3306/

        chown -R mysql:mysql /var/lib/mysql (启动前请反复确认目录属主是否为mysql,目录权限是否为755。)

        启动mysql。

数据库主从同步

        数据库文件初始化后,文件夹中有一个文件xtrabackup_binlog_pos_innodb,可通过这个文件中记录的binglog以及位置点进行主从同步

谢土豪

原文地址:https://www.cnblogs.com/kerwinC/p/6994829.html