模拟Mysql主从复制不一致及解决方法

MySQL主从不一致问题相关处理 某业务采取mysql的主从架构,但因为存储的问题,导致备库一直无法存储,数据同步一致性问题一直也未恢复,某次安全检查要求完成主备倒换演练,必须限期恢复主备,但是在恢复过程中,同步显示正常一段时间后,便会出现sql线程异常,主备数据不一致导致的同步错误情况。主数据库上面设置的max_allowed_packet比从数据库大,当一个大的sql语句,能在主数据库上面执行完毕,从数据库上面设置过小,无法执行,导致的主从不一致。根据上面的NR行数,查看附近的行,定位数据不一致的地方,后续手动补全。 阅读详情

模拟异常,数据不一致情况(主从复制关系为增强半同步)

 

1,主库操作,查看t1表记录

2,从库操作,查看信息,并停止主从复制关系,目的是不让主库日志传送到从库

3,主库操作,插入记录,无法提交,hang状态,因为无法得到从库的ack认证返回结果

4,这个时候我们把主库进程kill,模拟宕机情况

主库报错如下

5,从库,提升为主库,停止从库接受日志(前面已经停止复制关系,这里不需要操作)

 

6,这个时候我们再次启动主库,查看原主库记录,多了一条记录,原因上面已经提过了,数据库在重启后会跳过ack验证,引擎层进行提交。

7,查看从库依然只有一条记录,这个是必然的,因为日志根本没有传送过来。

这样就会出现数据层的数据不一致,但应用层是可以保持一致的,因为当原主库异常后,应用报错,该记录插入失败,当主从切换后,只要在新主上重新执行一次即可,因为新主库没有记录,所以执行没有任何问题。

但如果这个时候原主库建立和新主库的复制关系就会出现原主库出现两个重复的记录,如果是主键那么就会出现复制报错的情况。

所以要想让原主库加入到新主库的复制关系中

  1. 删除原主库多出来的记录
  2. 新主库跳过原主库不需要同步的事物gtid
  3. 新主库追平原主库gtid

 

 

1,查看原主库信息,事物号已经到4,也就是多出的记录事物号

2,查看新主库库信息(当原主库故障时的作为从库的信息),可以看到执行事物号到3,比原主库少了一个事物号,也就是少的那条记录。

Show slave status;

3,首先我们要做的就是,删除原主库多余的记录,删除前先要把半同步关闭(避免长时间无法提交的情况),再次查看执行事物号已经到了5

4,其次我们在新主库跳过不需要同步的事物gtid, 并补齐gtid

5,查看新主库信息,执行事物号已经到4

Show slave status;

6,再次跳过不需要同步的事物gtid, 并补齐gtid

7,再次查看,执行事物号已经到了5,这样就跳过了事物4(多的记录),事物5(删除记录),新主库和原主库数据一致,gitd追平

Show slave status;

8,查询新主库记录

9,查看原主库记录

 

10,原主库建立与新主库复制关系

11,开启新主库半同步

12,新主库插入记录

13,原主库查看信息

14,恢复原来的主从关系,

主库开启

set global rpl_semi_sync_master_enabled=on;

Stop slave;

从库关闭

set global rpl_semi_sync_master_enabled=off;

Start slave;

 

15,主库插入记录

16,从库查看记录

 

均正常,数据一致。

MySql数据库主从复制一致性的校验方案 主从复制往往会存在主从数据库数据不一致的问题,这会导致与客户端显示的数据不一样。那么本文章主要就是对主从复制的一致性问题给出一些操作方案。 一、准备工作 使用虚拟机搭建了一主多从的主从结构(主从搭建参考我之前的文章“搭建MySql主从复制”) 主(192.168.119.149),数据库帐号slave 从1(192.168.119.150),数据库帐号slave 从2(192.168.119.... 阅读详情

相关推荐

Mysql运维篇(二) 主从复制

路虽远行则将至,事虽难做则必成! 滴水穿石,聚沙成塔! 感谢优快云各位大佬的经典博文,在迷茫时能够拨云见日,指点迷津,让我继续一路前行! 如有侵权,请留言,我及时删除

weixin_41633010的博客 1256

mysql数据丢失_MySQL半同步复制数据一致性分析

简介MySQL Replication为MySQL用户提供了高可用性和可扩展性解决方案。本文介绍了MySQL Replication的主要发展历程,然后通过三个参数rpl_semi_sync_master_wait_point、sync_binlog、sync_relay_log的配置简要分析了MySQL半同步的数据一致性。MySQL Replication的发展在2000年,MySQL 3.23...

weixin_39707612的博客 476

基于canal 解决Redis与数据库数据不一致问题

一、业务场景 在实际生产过程中,由于网络原因或者Redis故障等等原因会导致Redis与数据库数据不一致的问题,这个时候我们怎么办?或许我们可以写一个定时Job然后定时去跑数据,或者找到那条数据不一致,然后删除Redis中的缓存,但是这些都有缺点,定时任务跑数据,延时性太大了。如果是删除缓存,数据量少还可以,数据量多了呢,写脚本?那脚本执行时候一定会影响Redis性能。Canal这个开源框架可以很友好的解决我们上面这些问题。 二、Canal介绍 Canal是阿里巴巴的开源项目,其原理是...

weixin_39555954的博客 3916

关于MySQL的一个半同步bug和两个知识点

这个BUG比较老了,主要是5.7.17以下的版本可能会遇到。这个BUG主要是主库ACK receiver线程需要将半同步从库的连接的fd注册到其中,然后监控连接的fd是否有数据到达,其实就是ACK 信息,如果有ACK信息到达,则需要读取信息同时解析ACK包,然后决定唤醒哪个或者哪些事务。但是这里使用的是select 函数,其原型如下, 其中第一个参数nfds有如下限制(来自 linux man page) 也就是说如果当前进程打开的文件描述符大于了1023,使用select会触发这个问题,那么回到M

quanzhan_King的博客 265

玩转Isaac Sim动态控制:从随机舞动到精准操控Franka的5种控制模式实测

本文深入实测了在NVIDIA Isaac Sim仿真平台中,利用Dynamic Control模块对Franka机械臂进行精准操控的五种核心模式:位置控制、单关节位置控制、速度控制、单关节速度控制和力矩控制。通过详细的代码示例和对比分析,阐述了每种模式的适用场景、参数调优技巧及从随机运动到闭环控制的实现路径,为机器人算法验证提供了实用指南。

night的博客 807

RaiDrive+AList保姆级教程:5分钟搞定OneDrive/百度网盘挂载到本地(附WebDAV配置)

本文提供RaiDrive+AList的保姆级教程,5分钟内实现将OneDrive/百度网盘挂载到本地的详细步骤,包括WebDAV配置。通过AList统一转换云存储协议,RaiDrive虚拟磁盘挂载,显著提升多网盘管理效率,适合需要跨平台操作文件的用户。

weixin_28331555的博客 455

一文解决MySQL主从导致数据不一致问题

但是,由于网络延迟、主从复制配置不当等原因,可能会导致数据不一致的问题,这是一个需要高度重视的问题。通过设置正确的时区、选择正确的二进制日志格式、使用GTID、定期检查主从同步状态和使用第三方工具等手段,可以有效地解决数据不一致的问题。2.选择正确的二进制日志格式:在MySQL 5.6版本以后,推荐使用“ROW”格式的二进制日志格式,因为它可以记录每一行数据的变化情况,从而避免了数据不一致的问题。1.网络延迟:主从复制需要通过网络进行数据同步,如果网络延迟过高,就会导致数据同步不及时,从而导致数据不一致。

m0_49151953的博客 4283

Windows 11下Dify安装部署实战指南

本文详细介绍在Windows 11环境下部署开源LLM应用开发平台Dify的完整流程。涵盖环境准备(WSL 2启用、Docker Desktop安装配置)、源码获取、Docker容器化部署、数据库初始化、服务启动验证等核心步骤。包括环境变量配置、性能优化、安全加固、端口冲突解决、数据库连接故障排查等关键技术要点。为开发者提供从零到一的Dify本地化部署实战指南

weixin_44269410的博客 851

[mysql]一次主从数据不一致的问题解决过程

情况时这样的 昨天晚上主动2个机器都迁移了,然后今天才把主动重新连接上,但是从库的偏移量是从今天当前时刻开始的,也就是说虽然现在主动看似正常,其实是少了昨天的部分数据,由于从库的数据丢失了,早晚还是要填坑的。 问题 要解决问题就是怎么对比不一致,然后在不影响业务的情况下,修复数据不一致的问题,把从库缺少的数据补上 下面是能想到和找到的几个方案 1 从新从0开始同步,虽然对主库的使用没有影响,

orangleliu 笔记本 1万+

基于深度残差U-Net与多尺度注意力机制的医学图像分割系统

本文提出了一种创新的医学图像分割系统,通过融合残差连接、通道注意力机制和空间金字塔池化技术,构建了高性能的UResnet分割网络。系统采用编码器-解码器架构,创新性地引入多层次特征增强模块,显著提升了医学图像中复杂组织结构的分割精度。实验结果表明,该方案在多个医学图像数据集上均取得了优异性能,边界分割精度提升15%,训练收敛速度提升30%,同时减少20%计算量。系统为临床诊断提供了可靠的技术支持,未来可扩展至3D医学图像分割和联邦学习等方向。

Henry的博客 813

渗透测试实战—云渗透(AK/SK泄露)

渗透测试实战思路分享:getshell方法及横向移动方法,云安全(AK/SK泄露)

网安日记本的博客 4048

Mysql主从复制、常见报错以及解决方法

目录 一、搭建主从复制 二、主从复制常见报错 1、1062报错—主键冲突 2、1236报错----1)binlog日志没有开启,2)binlog日志的pos不一致 3、1593报错----主从库的server-id冲突 4、1032报错----从库误删了记录 5、2003报错----主库的mysql服务停止 一、搭建主从复制 1、主从库手动同步 1)导出主库所有数据到all.s...

keil_wang的博客 5039

基于AR和SLAM技术的商场智能导视系统技术原理详解

本文针对智慧商场室内导航需求,提出基于AR和SLAM技术的商场智能导视系统技术方案,实现了沉浸式导览体验并促进消费转化,助力商场运营升级。

维小帮定位导航的博客 1241

MySQL的主从复制

主从复制是一种数据复制技术,主要用于提高数据库的可用性和读取性能。主服务器:负责处理写操作,并将数据变更记录到二进制日志中。从服务器:从主服务器获取二进制日志,并在本地重放这些日志,以保持与主服务器的数据同步。

qq_54324852的博客 2443

YOLO26 改进 | (教师:YOLOv8L,学生:YOLO26) | 知识蒸馏 (Knowledge Distillation)

本文介绍了基于YOLO26框架的知识蒸馏实战方法,通过教师模型指导学生模型训练,在不增加推理成本的情况下提升模型精度。文章详细阐述了基于响应的知识蒸馏实现方案,通过最小化教师与学生模型预测Logits间的KL散度实现知识迁移。核心实现包括:1) 创建DistillationModel包装器类,同时运行师生模型;2) 自定义DistillationLoss,在原检测损失基础上增加KL散度损失。该方法适用于希望保持YOLO26轻量级特性同时获得接近大模型精度的场景,文中提供了完整的代码实现方案。

weixin_51988935的博客 510

点云生成图像

摘要:本文介绍了使用Open3D库将点云投影为RGBD图像的方法。通过project_to_rgbd_image函数,利用小孔相机模型的内参和外参矩阵,实现了点云到彩色图像和深度图的转换。实验使用随机生成的10万个点云数据,通过可视化窗口获取相机参数后,成功生成了对应的RGB图像和深度图像,并使用Matplotlib进行可视化展示。该方法为点云数据处理提供了有效的三维到二维投影方案。

夜空中明亮的星的专栏 134

mysql主从复制 windows模拟实现

记录一下主从复制 windows模拟实现过程Mysql:5.5。

qq_43980434的博客 1127

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

当MySQL主从数据不一致,怎么解决???

当MySQL主从数据不一致,怎么解决??? 在使用mysql replication时,有时候会担心,如果主库和备库的数据不一致,怎么办?以前是重新停掉从库,重新做主从,但是耗费时间太多 最近找到了一个mysql的工具,mysqldbcompare,可以实现对多库数据的对比。 下面MySQL主从原理 一、主从复制 MySQL数据库复制操作大致可以分成三个步骤: 1. 主服务器将数据的改变记录到二进制日志(binary log)中。 2. 从服务器将主服务器的binary log

南宫乘风-Linux运维-虚拟化容器-Python编程 ownit.top 1253

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

MySQL 主从复制故障排查及解决方案

在 MySQL 运维中,主从复制是实现数据备份、读写分离、高可用的核心架构,但实际部署和运行过程中,常会因配置、网络、数据一致性等问题导致复制中断。本文基于实战场景,梳理了 9 类高频主从复制故障,包含问题模拟、报错分析及分步解决方案,适用于 MySQL 运维人员参考。

专注Java和MySQL领域知识分享 1287

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MySQL主从数据不一致问题

一、主从复制 MySQL数据库复制操作大致可以分成三个步骤: 1. 主服务器将数据的改变记录到二进制日志(binary log)中。 2. 从服务器将主服务器的binary log events 复制到它的中继日志(relay log)中。 3. 从服务器重做中继日志中的事件,将数据的改变与从服务器保持同步。 首先,主服务器会记录二进制日志,每个事务更新数据完成之前,主服务器将这些操作的信息记录在二进制日志里面在事件写入二进制日志完成后主服务器通知 存储引擎提交事务。 准备: 了解binlog日

yshir 1473

Java开发 - MySQL主从复制初体验

MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。​二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。

CodingFire的博客 2985

MHA高可用-解决MySQL主从复制的单点问题

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。1、从宕机崩溃的master 保存二进制日志事件(binlog events);2、识别含有最新的更新 slave 日志。

weixin_58376680的博客 1485

五四青年节,茶余饭后,详谈一下MySQL主从复制常见问题

在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」

IT邦德 3742

docker部署MySQL主从复制

使用单台安装了docker的服务器/虚拟机进行模拟部署,快速了解MySQL主从复制部署方式。CentOS安装docker及一些命令。

不知道的博客 1762

MySQL复制主从实例表DDL不一致导致失败案例

作者:土豆娃娃简介:高级数据库工程师,从事数据库行业近10年,从Oralce转战MySQL,擅长MySQL数据库性能优化、备份恢复、国产数据库迁移,对开源数据库相关技术有浓厚兴趣。* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景说明:在一次断网测试过程中,在主库发起了DDL操作,备库丢失该DDL,导致主从表结构不一致,接下来的测试竟然都...

老叶茶馆 1042

MySQL--主从复制

1)从库执行change master to语句,把IP、PORT、USER、PASSWORD、BINLOG起点记录到master.info中。从库执行start slave,——>会开启IO、SQL线程 2)从库IO线程开始工作,读取了master.info后连接主库 3)主库连接层收到请求,验证通过后,生成dump线程和从库IO线程交互

数据库学习ing 1677
上一篇: 人行发布2018年度银行科技发展获奖名单
下一篇: MySQL复制一致性问题探索(二)-MGR
基础技术研究
博客等级 码龄9年 19粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值