首页 > 其他分享 >利用xtraBackup实现不停master服务做主从同步

利用xtraBackup实现不停master服务做主从同步

时间:2024-01-23 15:01:03浏览次数:24  
标签:-- 做主 xtraBackup master mysql MySQL webser mysql55 日志

MySQL主从同步原理:

MySQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Master MySQL上读取binlog,然后传输到Slave MySQL的中继日志中,然后Slave MySQL的SQL线程从中继日志中读取中继日志,然后应用到Slave MySQL的数据库中。这样实现了主从数据同步功能。

 

XtraBackup备份原理:

innobackupex在后台线程不断追踪InnoDB的日志文件,然后复制InnoDB的数据文件。数据文件复制完成之后,日志的复制线程也会结束。这样就得到了不在同一时间点的数据副本和开始备份以后的事务日志。完成上面的步骤之后,就可以使用InnoDB崩溃恢复代码执行事务日志(redo log),以达到数据的一致性。

 

备份分为两个过程:

backup,备份阶段,追踪事务日志和复制数据文件(物理备份)。

preparing,重放事务日志,使所有的数据处于同一个时间点,达到一致性状态。

 

XtraBackup的优点:

可以快速可靠的完成数据备份(复制数据文件和追踪事务日志)

数据备份过程中不会中断事务的处理(热备份)

节约磁盘空间和网络带宽

自动完成备份鉴定

因更快的恢复时间而提高在线时间

 

 

一 xtrabackup安装:

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

rpm -ivh percona-xtrabackup-2.2.12-1.el6.x86_64.rpm

 

软件下载地址:https://www.percona.com/software/mysql-database/percona-xtrabackup

 

二 核对mysql的版本:

利用xtrabackup做全备和恢复的,Mysql的版本最好一致!

检查mysql版本:

 /webser/mysql55/bin/mysql -V

/webser/mysql55/bin/mysql  Ver 14.14 Distrib 5.5.21, for Linux (x86_64) using readline 5.1

利用xtraBackup实现不停master服务做主从同步_数据文件

 

 

三.在master服务器上在线备份数据库:

innobackupex --defaults-file=/webser/mysql55/etc/my.cnf --user=root --password=xxxx  /tmp/backup/

 

PS:/tmp/backup/ 为备份目录;

然后通过scp方式把master上

 

四.slave机器上操作;

1)关闭mysql服务;

然后清空mysql数据目录下文件,例如本机mysql的数据目录是:/webser/mysql55/var/ 

 

2)开始恢复数据

假设备份文件的路径在:/webser/2015-08-12_13-54-56

 

恢复日志文件:

innobackupex --defaults-file=/webser/mysql55/etc/my.cnf --user=root --password=xxxx --apply-log /tmp/backup/2015-08-12_13-49-32/

恢复数据文件:

innobackupex --defaults-file=/webser/mysql55/etc/my.cnf --user=root --password=xxxx --copy-back /tmp/backup/2015-08-12_13-49-32/

 

以上操作,请务必按照顺序执行,操作顺序颠倒,会引起mysql服务器启动不了!

 

3)修改数据目录权限:

chown -R mysql:mysql /webser/mysql55/var  

 

4)安全方式启动mysql,查看是否有异常;

/webser/mysql55/bin/mysqld_safe --defaults-file=/webser/mysql55/etc/my.cnf &

如果没有异常报错,就关闭mysql

 /webser/mysql55/bin/mysqladmin -uroot -p shutdown

 

5)查看binlog日志文件的位置值,做主从同步:

cat /tmp/backup/2015-08-12_13-49-32/xtrabackup_binlog_info 

wwwmaster.000458    1022022953

 

6)在slave机器上做主从相关操作:

CHANGE MASTER TO

MASTER_HOST='192.168.1.xxx',

MASTER_USER='rep',

MASTER_PASSWORD='xxxxxx',

MASTER_PORT=3306,

MASTER_LOG_FILE='wwwmaster.000458',

MASTER_LOG_POS=1022022953;

 

启动主从同步:

start slave;

 

查看slave状态:

利用xtraBackup实现不停master服务做主从同步_mysql_02

 



标签:--,做主,xtraBackup,master,mysql,MySQL,webser,mysql55,日志
From: https://blog.51cto.com/u_16532032/9380100

相关文章

  • mysql innobackupex xtrabackup 大数据量 备份 还原
    大数据量备份与还原,始终是个难点。当MYSQL超10G,用mysqldump来导出就比较慢了。在这里推荐xtrabackup,这个工具比mysqldump要快很多。 一、Xtrabackup介绍1,Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDBHot......
  • MySQL 8.0 的xtrabackup备份
     xtrabackup备份语句:   fname=`date+%F_%H-%M-%S`mkdir-p/mnt/dbbak/db_$fnamextrabackup--defaults-file=/etc/my.cnf-uhyb-phd-h/var/lib/mysql-S/var/lib/mysql/mysql.sock-Hlocalhost--port=3306--backup--parallel=4--target-dir=/mnt/dbbak/db_$f......
  • 关于spring.redis.cluster集群部分Master节点故障后 交易中断60秒解决方案
     背景  第一种方案:公司项目做性能测试,redis集群选用cluster集群模式,开始选用3主3从,共3台服务器,每个服务器一主一从。    服务器A  redis8001 8002    服务器B  redis8003 8004     服务器C  redis8005 8006    8001主    ......
  • ubuntu安装最新版的xtrabackup
    官方文档:https://www.percona.com/doc/percona-xtrabackup/8.0/installation/apt_repo.html1,首先都在root用户下操作,不然提示权限不足wgethttps://repo.percona.com/apt/percona-release_latest.$(lsb_release-sc)_all.deb通过上面命令得到最新的安装包,会根据你的系统来,......
  • CodeForces 986F Oppa Funcan Style Remastered
    洛谷传送门CF传送门有意思的。对\(k\)分解质因数,题目实际上是想让我们解一个\(\sum\limits_{i=1}^ma_ix_i=n\)的方程。考虑\(m=1\)特判,\(m=2\)exgcd。\(m=3\)时发现\(\min\limits_{i=1}^ma_i\lek^{\frac{1}{3}}\le10^5\),所以可以跑同余最短路。......
  • xtrabackup备份mysql
    安装,这里用的二进制源码,地址https://www.percona.com/downloads完全备份格式innobackupex-uroot-p密码备份目录[参数]增量备份格式innobackupex-uroot-p密码备份目录--incremental新数据存放目录--incremental-basedir=上次备份目录[参数]准备恢复数据格式i......
  • 使用shell脚本xtrabackup自动恢复MySQL数据库
    【背景说明】按照安全的一些要求,需要定期对数据库进行恢复演练操作【环境说明】MySQL5.7的xtrabackup全库xbstream的加密备份(如果不是流备份跟加密,去掉相关参数)【脚本说明】v_backupdir="/mysqlbackup/recovery/yiyuan"备份文件的目录路径v_dir="/mysqlbackup/recovery/......
  • xtrabackup备份工具
    为什么要学这个工具背景一个合格的运维工程师或者dba工程师,如果有从事数据库方面的话,首先需要做的就是备份,如果没有备份,出现问题的话,你的业务就会出问题,你的工作甚至会。。。所以备份是重要的,但光有备份还不行,备份后如果出现问题,你还得使用备份数据来恢复,但恢复数据的时间一......
  • swoole运行Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别
    Master进程、Reactor线程、Worker进程、Task进程、Manager进程的区别与联系Master进程Master进程是一个多线程进程Reactor线程Reactor线程是在Master进程中创建的线程负责维护客户端TCP连接、处理网络IO、处理协议、收发数据不执行任何PHP代码将TCP客户......
  • Docker下MySQL 8.0如何通过xtrabackup进行增量备份
    看到网上很多Docker环境下MySQL8.0的xtrabackup都是通过dockercompose的方式来进行备份的,个人觉得太麻烦了,于是通过修改MySQLDocker镜像的方式来扩展备份功能第一部分 MySQL8.0功能扩展1.MySQL8.0官方镜像扩展xtrabackup,Dockerfile如下FROMdocker.io/mysql:8.0.34-oracleR......