首页 > 数据库 >MySQL5.7.36之主从复制部署安装-centos7

MySQL5.7.36之主从复制部署安装-centos7

时间:2024-09-02 10:25:40浏览次数:13  
标签:主库 主从复制 thread MySQL5.7 36 线程 io sql 从库

主库是192.168.31.209:3306
从库是192.168.31.210:3308、192.168.31.209:3307、192.168.31.210:3309、192.168.31.211:3310、192.168.31.211:3311

切记:不管是主库还是从库,server_id一定不能重复

1、主库创建复制账号及授权

create user 'repl'@'%' identified by '7E%mAt8mbZXQC1xy';
grant replication slave on *.* to 'repl'@'%';

2、从库采用help change master to查看配置

CHANGE MASTER TO
MASTER_HOST='192.168.223.126',
MASTER_USER='repl',
MASTER_PASSWORD='7E%mAt8mbZXQC1xy',
MASTER_PORT=3306,
MASTER_AUTO_POSITION=1,
MASTER_CONNECT_RETRY=10;

3、在从库上面开启复制

start slave; #开启从服务
reset slave; #重置从服务 删除master.info,relay-log.info数据;删除所有relay log;将延迟选项master_delay设置为0;
reset master; #删除所有的二进制日志文件
stop slave; #停止从服务
start slave io_thread; #开启io线程
start slave sql_thread; #开启sql线程
stop slave io_thread; #停止io线程
stop slave sql_thread; #停止sql线程
show processlist;

4、查看从库状态

show slave status \G;
Master_Host: 192.168.0.15 #主库ip
Master_User: repl #主库用户
Master_Port: 3318 #主库端口号
Connect_Retry: 10 #失败链接次数
Master_Log_File: mysql-bin.000005 #当前从库io_thread正在读取主库的二进制日志文件
Read_Master_Log_Pos: 1525 #当前从库io_thread正在读取主库二进制日志文件位置
Relay_Log_File: localhost-relay-bin.000006 #当前从库sql_thread正在读取从库的中继日志文件
Relay_Log_Pos: 1738 #当前从库sql_thread正在读取从库中继日志文件位置
Relay_Master_Log_File: mysql-bin.000005 #当前从库sql_thread从relay-log中读取的正在进行的SQL语句,对应主库的sql语句是在哪个binlog中
Exec_Master_Log_Pos: 1525 #从库sql_thread当前执行的事件,对应主库的binlog中的position
Seconds_Behind_Master: 0 #主从复制延迟的时间,如果是0表示主从无延迟
Last_IO_Error:  #显示io线程错误信息
Last_SQL_Error:  #显示sql线程错误信息
SQL_Delay: 0 #延迟复制
Retrieved_Gtid_Set: 1864fb2f-54d7-11ed-81c4-000c2991c366:1-15 #当前io_thread已经接收到的binlog
Executed_Gtid_Set: 1864fb2f-54d7-11ed-81c4-000c2991c366:1-15,
59d4fb2f-54d8-11ed-8d61-000c29fb87c6:1-3 #当前从库sql_thread执行的二进制日志位置

5、主从工作原理

a、在从库上执行change master to;会将主库的信息保存到从库中的master.info文件中

b、在从库上执行start slave;开启io_thread及sql_thread线程;

c、io_thread开始工作;io_thread通过master.info文件中主库的连接信息去连接主库;连接成功后主库就会开启dump_thread线程;

d、dump_thread读取主库新产生的二进制日志;然后投递给从库io_thread线程

e、io_thread线程接收到dump_thread线程投递的新的二级制日志,将日志写入到relay_log(中继日志)

f、io_thread就会等待主库dump_thread主动把新产生的二进制日志投递过来

g、sql_thread线程会将relay_log新产生的日志回复到数据库,写到磁盘

标签:主库,主从复制,thread,MySQL5.7,36,线程,io,sql,从库
From: https://blog.csdn.net/m0_63603104/article/details/141670515

相关文章

  • MySQL Replication 主从复制详解
    1.1主从复制基础概念在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com/clsn/p/8087678.html#_label61.1.1二进制日志管理说明二进制日志在哪?如何设置位置和命名?......
  • ABC369F F - Gather Coins 题解
    题目链接:https://atcoder.jp/contests/abc369/tasks/abc369_f题目大意:在一个\(H\timesW\)的二维迷宫中有\(N\)枚硬币,其中第\(i\)枚硬币在\((R_i,C_i)\)(本题中,我们用\((r,c)\)表示二维迷宫中从上到下第\(r\)行从左到右第\(c\)列的那个格子)。你一开始在迷宫的左......
  • Microsoft 365 解决方案:数据备份的必要性、配置架构
    51CTO博客链接:https://blog.51cto.com/u_13637423业务连续性保障是许多公司最关心的问题。如果发生加密大量数据的勒索软件攻击,或者内部意外或恶意数据删除或覆盖事件的实例,则需要能够尽快使业务恢复正常状态。这是Microsoft365备份产品提供的功能,无论是通过Microsoft365管......
  • AtCoder Beginner Contest 369 补题记录
    A-369题意:给定A和B,求有多少个x可以和A,B构成等差数列思路:分三种情况讨论A==B则x不得不与A和B想等x位于A和B中间只有B-A为偶数才有这种情况存在x位于A和B两边可以在左边也可以在右边,只要A!=B这种情况总会存在voidsolve(){inta=read(),b=read();......
  • AtCoder Beginner Contest 368(ABC368)
    [ABC369C]CountArithmeticSubarrays题意:判断有多少个区间是等差数列(不能重排)。\(1\len\times10^5\)。思路:赛时看错题了,以为这个区间可以重排,卡了8min,小丑了。首先容易注意到,对于一个区间\([l,r]\),若其是等差数列,则这个区间的子区间\([l',r']\)肯定也是子序列,造成......
  • abc369 题解
    切了A~F,还挺开心(但是如果上一次把G切了的话,我就上青了QAQ比赛链接:https://atcoder.jp/contests/abc369A-369题意:给定正整数\(a,b\)(\(1\lea,b\le100\)),请问有多少个整数\(x\)满足\(a,b,x\)排序后构成等差数列。思路:观察到\(a,b\)范围很小,直接枚举\(x\)即可。......
  • ABC 369
    ABC369刚才翻上次写的abc366题解,发现语言挺抽象,导致自己都快看不懂了,这回写好点这段时间第一次Rated,情况一般吧,F忘给同一个\(x\)的所有\(y\)排序了,今天(9.1)早上突然看出来了。G没有细看,以为是个博弈论,现在才发现是个简单贪心369这数挺吉利哈哈,济南好像......
  • Atcoder Beginner Contest 369
    AtcoderBeginnerContest369C-CountArithmeticSubarrays题意给出一个长度为\(n\)的序列\(A\),求有多少个\(A\)的连续子序列为等差数列。思路对于递增的右端点,左端点不减。使用双指针,枚举右端点,扫描左端点。时间复杂度:\(O(n)\)。代码#include<bits/stdc++.h>usi......
  • AtCoder Beginner Contest 369 补题记录(A~G)
    AconstintN=1000100;inta[N];signedmain(){intx,y;cin>>x>>y;if(x==y)cout<<"1\n";elseif(x%2==y%2)cout<<"3\n";elsecout<<"2\n";}BconstintN=1000100;inta[N];sign......
  • AtCoder Beginner Contest 369 A~D
    封面原图画师かにょこAtCoderBeginnerContest369我愿称之为等差数列场A-369题意给两个数,问能和他们构成等差数列的数有多少个代码#include<bits/stdc++.h>#definemod998244353usingnamespacestd;typedeflonglongll;typedefdoubledb;type......