Ubuntu的mysql下xtrabackup热备案例②

mysql通过xtrabackup热备,实现slave主从同步。以及遇到的问题并解决。从节点拿备份

前言:基于业务正常运行情况下,主从slave有延迟,或者slave中断的情况下,在不中断业务的同时对数据库进行热备操作。本此记录写的内容亦可以为主库1-1进行热备操作
Ubuntu的mysql下xtrabackup热备案例①
http://blog.csdn.net/wayne_primes/article/details/79077241

。下图为计划图:

操作方式--从本地从库1-2备份数据到远程从库1-3服务器(执行的命令我都标蓝色了):

 

安装sshpass显示指定远程主机的密码,sshpass的安装如下:

apt-get install sshpass

并且需要开启业务从库1-2的binlog日志 my.cnf参数参考

log-slave-updates

log-bin=mysqlbin-log

安装完这个之后要先ssh root@远程IP地址登录一次

innobackupex --user=root --password=zongs365 --safe-slave-backup --socket=/var/run/mysqld/mysqld.sock --stream=tar ./ | gzip | sshpass -p '从库1-3密码' ssh root@从库1-3ip " cat - > /data/backup/backup.tar.gz"

如果报错请先ssh root@远程IP地址登录一次

得到 binlog MySQL binlog position: filename 'mysqlbin-log.000001', position '154'如果备份完未看到这个参数,因为你没有开启binlog日志和日志更新,或者可以在业务从库端解压后,找到xtrabackup_binlog_info。

在从库1-3解压后,将文件夹放置my.cnf下的datadir目录,修改其文件名为mysql 并修改文件夹下所有文件的权限,并在从库1-3进行还原,(需要注意mysql的配置

chown -R mysql.mysql mysql

innobackupex --apply-log --redo-only /var/lib/mysql

在从库1-2上创建slave账号

grant replication slave on *.* to repl @'从库1-3IP' identified by '密码';

flush privileges;

在从库1-3建立主从关系并开启slave

reset slave;

change master to master_host='从库1-2IP',master_user='repl',master_password='密码',master_log_file='mysqlbin-log.000001',master_log_pos=154;

start slave ;

show slave status\G;

编辑时间2018年3月20日15:29:25

PS:曾有人问我,你删过库吗。我呵呵一笑道:好汉不提当年勇。

猜你喜欢

转载自blog.csdn.net/wayne_primes/article/details/79625729