xtrabackup备份MySQL并主从同步

时间:2021-10-30 03:28:29

为什么要使用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以及位置点进行主从同步

谢土豪

xtrabackup备份MySQL并主从同步