innobackup备份恢复实操步骤--gtid复制(1)(1)

  1. 首先在主库进行备份:

备份命令:

Innobackupex --defaults-file=/app/dbcluster/sgrdb/mysql/my19103.cnf --no-timestamp --user=dbscale --password=S6000@dbscale  --host=10.157.43.224  --port=19103  /data/backup

 

如果使用setsid:

setsid innobackupex --defaults-file=/data/mysql/my3390.cnf --no-timestamp --user=test   --password=test --host=172.16.90.233  --port=3390  /data/backup 2>backup.log &

 

2.接着执行apply-log,这一步可以在主库的服务器上执行也可以把备份集传输到从库服务器上之后,在从库服务器上再执行,我这里是在主库执行完成之后再传输到从库的:

innobackupex --apply-log  /data/backup

如果使用setsid:

setsid innobackupex --apply-log  /data/backup 2>apply.log &

 

 

(slave服务器上确认mysql是否关闭

先在slave上确保实例已经处于关闭状态(通过ps -ef | grep sgrdbd | grep 19103 来查看,输出为空表示已经关闭)

如果没有关闭数据库,需要先关闭数据库:

shell> cd /app/dbcluster/sgrdb/mysql/

shell> ./bin/sgrdbadmin -udbscale -p’密码’ -P19103 -h slaveip shutdown

关闭之后查看是否还有进程:

shell> ps -ef | grep sgrdbd

)

 

3.传输备份到从库,传输备份文件到从库有多种方法,这里介绍2种方法,二者选其一即可:

rsync:

rsync -avSH  /data/backup  172.16.90.234:/data/backup

其他使用方法参考:

http://newcity.blog.163.com/blog/static/21642904620151242639886/

Scp:

scp -r  /data/backup  10.157.43.223:/data/backup

 

4.备份文件传输到从库之后,直接在从库copy-back,或者把文件直接拷贝到从库的datadir下面,二者选其一即可:

copy-back方法:

innobackupex --defaults-file= /app/dbcluster/sgrdb/mysql/my19103.cnf--copy-back /data/backup

或者使用--move-back

innobackupex --defaults-file=/data/mysql/my3390.cnf --move-back /data/backup

 

手动copy方法:

cp -r /data/backup/*  /sdb1/mysqldata/sgb/data19103/

 

5.在从库修改数据目录权限:

chown -R sgrdb:sgrdb /sdb1/mysqldata/sgb/data19103

 

6.启动从库

cd $basedir

./bin/sgrdbadmin --defaults-file= /app/dbcluster/sgrdb/mysql/my19103.cnf--user=sgrdb &

 

7.根据备份信息修改change master to语句:

a.查看备份信息,xtrabackup_binlog_info文件中会有gtid的信息:

[root@mysql2 backup]# cat xtrabackup_binlog_info

my1binlog.000003        66563704        09c53004-6599-11e6-b3b8-525400aec7c7:1-920   

b.在从库修改、执行change master to语句,这里在执行change master to语句之前需要先在从库purge gtid的位置:

reset master;

set global gtid_purged='09c53004-6599-11e6-b3b8-525400aec7c7:1-920';

CHANGE MASTER TO master_host='10.157.43.224',master_port=19103,master_user='dbscale',master_password='S6000@dbscale',master_auto_position=1;

注意:

当备份的库之前是双主结构的从库,并且做过主从切换,gtid会有多组gtid的值,例如:

[mysql@db_slave1 data]$ cat xtrabackup_binlog_info

db_master2-bin.000427   388360834       ce70701f-dc1a-11e4-a375-5cf3fce7fd98:1-270900248,fb2934a4-dce8-11e4-a8b5-5cf3fce7f8c8:1-775393002

如果有多组的gtid值,在备份之后会在文件中显示,在purge gtid的时候需要把所有的组都purge,即:

SET GLOBAL gtid_purged="8bc8e42d-30f6-11ea-afa8-005056879c27:1-3595967,

ea7e8d1e-3139-11ea-b87f-00505687e26a:1-31750755";

 

8.最后在从库启动slave并且查看同步状态:

Start slave;

show slave status\G

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis系列:Redis的概述与安装

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。 本篇内容包括:Redis 简介(为什么快?为什么单线程?优…

安装LibreOffice和字体

#/bin/bash # Check if user is root if [ $(id -u) ! "0" ]; thenecho "Error: You must be root to run this script, please use root"exit 1 fi echo 安装LibreOffice cd /home/ tar -zxvf LibreOffice_6.3.3_Linux_x86-64_rpm.tar.gz cd /home/LibreO…

xtrabackup备份脚本

#!/bin/sh #备份主机 remote_ip100.0.132.160 Master_ip100.20.132.158 VIP100.20.132.166 #备份用户 userroot #密码 password00000 # 返回年月日 backup_datedate %F # 返回时分秒 backup_timedate %H-%M-%S # 返回今天是这周的第几天 backup_week_daydate %u backup_ok0 #备…

Redis系列:使用Redis实现分布式锁及相关问题

分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。 本篇内容包括:关于 Redis 与 分布式锁&…

Redis系列:Redis持久化机制与Redis事务

Redis 是个基于内存的数据库。那服务一旦宕机,内存中数据必将全部丢失。所以丢失数据的恢复对于 Redis 是十分重要的,我们首先想到是可以从数据库中恢复,但是在由 Redis 宕机时(说明相关工作正在运行)且数据量很大情况…

Java基础:Java程序设计环境

按应用范围,Java 可分为 3 个体系,即 Java SE、Java EE 和 Java ME。Java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开…

负载均衡策略

轮循均衡(Round Robin):每一次来自网络的请求轮流分配给内部中的服务器,从1至N然后重新开始。此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。 我们的业务web服务器都是同样配置…

Java基础:Java数据类型

Java 是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在 Java 中基本数据类型共有 8 种,包括 4 种整型、2 种浮点型、1 种用于表现 Unicode 编码的字符单元的字符类型 char 和一种用于表示真值的 boolean 类型 ~ 本篇主要记录内容包括&#…

TCP连接的建立与终止

TCP连接的建立与终止 1.三次握手 TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方…

日常问题:MySQL排序字段数据相同不能分页问题

【问题日期】 2022-11-14 22:45:12 【问题描述】 MySQL 排序字段数据相同不能分页问题:在分页查询数据时,按创建时间排序,由于数据是批量创建的,导致部分数据创建时间一样,而此时分页查询数据,翻页后出现…

数据缺失值处理

数据缺失值处理 In [1]: import pandas as pd import numpy as np from sklearn.ensemble import RandomForestRegressor,RandomForestClassifier from sklearn.preprocessing import StandardScaler from sklearn.impute import SimpleImputer In [2]: df pd.DataFrame() df[…

Java基础:Java数字类型

Java 中包含多种运算符:算数运算符、关系运算符、逻辑运算符、位运算符。在 Math 类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函数也不同。要生成一个随机数,可以使用 Random 对象。 ~ 本篇主要…

Java基础:Java流程控制

块(即复合语句)是指由一对大括号括起来的若干条简单的 Java 语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。但是,不能在嵌套的两个块中声明同名的变量。使用块(有时称为复合语句)可以在Java程序结构中原本…

Java基础:Java类与对象

面向对象程序设计(简称OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包…

SVN备份脚本

#!/bin/bash #svn全量备份脚本 wwytcode_path/home/wwytcode/project backup_path/home/bak Datedate %Y%m%d cd $backup_path echo date >> $back_path/svn_backup.log svnversionsvnlook youngest $wwytcode_path svnadmin dump --revision 0:$svnversion $wwytcode_pa…

Java基础:Java面向对象

面向过程的优点是性能比面向对象高,不需要面向对象的实例化;缺点是不容易维护、复用和扩展。面向对象的优点是具有封装、继承、多态的特性,因而容易维护、复用和扩展,可以设计出低耦合的系统;缺点是由于需要实例化对象…

薪资生成

import openpyxl from openpyxl.styles import Font,Alignment,Side,Border#设置字体样式 fontFont(name宋体,size20,boldTrue) font2Font(name宋体,size12,boldTrue) alignmentAlignment(horizontalcenter,verticalcenter,wrap_textTrue) sideSide(stylethin ,color000000) …

Java基础:Java抽象接口

在Java中,一个没有方法体的方法应该定义为抽象方法,而如果一个类中含有抽象方法,则该类必须定义为一个抽象类。接口是功能的集合,同样可看做是一种特殊的数据类型,是比抽象类更为抽象的类,接口只描述所应该…

13 张图带你学懂 Kubernetes Service(转载)

在 Kubernetes 中 Service 主要有4种不同的类型,其中的 ClusterIP 是最基础的,如下图所示: 当我们创建一个 NodePort 的 Service 时,它也会创建一个 ClusterIP,而如果你创建一个 LoadBalancer,它就会创建一…

Java基础:Java异常机制

异常是程序运行过程中出现的错误。Java 把异常当作对象来处理,把异常信息封装成了一个类,并定义一个基类java.lang.Throwable作为所有异常的超类。Throwable : 它是所有错误与异常的超类(祖宗类),有两个子类 Error 和 Exception。…