4.mysql学习笔记:mysql的复制(一)

Docker快速搭建Mysql8一主两从复制架构 文档:https://dev.mysql.com/doc/refman/8.0/en/replication-howto-slaveinit.html。includedir /etc/mysql/conf.d/: 这告诉MySQL服务器从/etc/mysql/conf.d/目录中包含其他配置文。source_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;pid-file: 这是MySQL服务器的进程ID文件的位置。这有助于区分不同的服务器,特。 阅读详情

mysql的复制

复制概述

复制要解决的一个基本问题是服务器之间数据的同步,一个master(主库)的数据可以同步到多个备库(slave)上。而且其中一个备库也可以配置成令一个服务器的主库。

mysql支持两种复制方式:

1.基于行的复制;
2.基于语句的复制;

两种方式都是在主库上记录二进制日志,在备库上重放日志的方式来实现异步的数据复制的(mysql还支持半同步复制,不过效率要略低于异步复制)。这个方式可能会导致备库(slave)上的数据可能与主库(master)上的有所延迟。

一般来讲:msyql的复制大部分是向后兼容的,也就是说新版本的服务器要作为老版本的备库(slave),因为旧版的不一定能够支持新的特性。


复制需要解决的问题

复制常见的用途有:

1.数据分布
2.负载均衡

通过mysql的复制可以将读操作分布到多个服务器上,实现对读密集型应用的优化。

可以采用的技巧是:
(1)DNS轮询;
(2)LVS(linux虚拟服务器)

3.高性能和故障分析
帮助应用程序避开单点故障。
4.mysql升级测试


复制的如何工作

mysql的复制包含有三个步骤:

1.在主库(master)上把数据更改记录到二进制日志中(Binary Log),这些记录被成为二进制日志事件。
2.备库(slave)将主库上的日志复制到自己的中继日志(Relay Log)中。
3.备库读取中继日志中的事件,将其放到备库数据之上。

如下图所示:
这里写图片描述

注意:mysql会根据事务提交的顺序而非每条语句的执行顺序来记录二进制日志。


配置复制

为mysql服务器配置复制一般分为以下几个步骤:

1.在每台服务器上创建复制帐号;
2.配置主库(master)和备库(slave);
3.通知备库(slave)连接到主库(master)并从主库复制数据。

准备:
主库(master): 192.168.3.245 (server5.example.com)
备库(slave): 192.168.3.242 (server2.example.com)


创建复制帐号

mysql会赋予一些特殊的权限给复制线程,在备库(slave)运行的I/O线程会建立一个到主库(master)的TCP/IP链接,所以就要求我们必须在master上建立一个用户,并赋予其合适的权限,slave通过该用户连接到主库并读取日志。

在192.168.3.245和192.168.3.242做如下操作:

192.168.3.245(master):
这里写图片描述

192.168.3.242(slave):
这里写图片描述

注意:为什么在slave也要创建复制帐号,其中一个好处就是后续如果有需要的话可以方便的交换主备库的角色。


配置主库(master)和备库(slave)

在192.168.3.245(master)mysql的配置文件/etc/my.cnf上做如下修改:

[root@server5 ~]# vim /etc/my.cnf
这里写图片描述

重起192.168.3.245上的mysql服务:
这里写图片描述

确认二进制日志文件已经在master上建立,使用show master status命令:
这里写图片描述


在192.168.3.242上做如下配置:

[root@server5 ~]# vim /etc/my.cnf

这里写图片描述

relay_log 为中继日志的位置和名称
log_slave_updates 允许备库将其重要的事件也记录到自身的二进制日志中
read_only 阻止没有任何特殊权限的线程修改数据(通常不是十分使用,特别针对那些需要建表的应用)

重起mysql数据库:
这里写图片描述


启动复制

备库连接到主库并重放其二进制文件:
这里写图片描述

可以看到Slave_IO_State、Slave_IP_Running、Slave_SQL_Running这三个显示当前备库复制尚未运行。

开始复制:
这里写图片描述

执行该命令没有显示错误,查看状态发现已经开始运行,等待主库更改日志信息。

在主库中做一些修改操作,可以看到备库的文件和日志位置都有可能会增加:

我们在主库中创建了数据库haha:
这里写图片描述

然后查看备库中也多了一个数据库haha,说明复制是成功的:
这里写图片描述

在master中显示进程列表,可以看到id2的进程发送了二进制日志给slave:
这里写图片描述

在slave中也会看到有两个线程在进行处理:
这里写图片描述

小结:
至此,我们通过一个简单的示例介绍了mysql的复制过程,在接下来的章节里将会着重介绍mysql的多种使用和复制原理。敬请期待。

mysql主从复制、一主一从、 一主多从、环形多主 MySQL主从复制(原理+实操 )一主一从、 一主多从、环形多主 阅读详情

相关推荐

mysql的复制

1.浅谈mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。...

weixin_60551759的博客 1404

MySQL 8 复制(一)—— 异步复制

MySQL 异步复制介绍、复制实验环境、安装 MySQL 8.0.16、配置异步复制

wzy0623的专栏 9829

【四季发财中线】通达信炒股指标副图指标使用图文教程,短线紫色柱线操作,与中线短柱线共振抓牛股妖股主升浪

如上图标记位置,对应的是副图指标的紫色柱线开始的位置,这个紫色柱线信号开始出现,也是短线进场做多的信号,紫色柱线的持续出现和加长,可以持股待涨,或行情继续上涨的可以在分时行情中逢低进场短线顺势做多。如上图标记部分,指标的主要部分信号,三行柱线-ZR-ZC -ZM,当出现这三行信号时,中线或波段看多做多,信号持续则中线顺势做多和持股待涨。不论是跟踪信号的出现先后进场和持股,或是在中线多头的行情中,找到短线转多信号进场做安全的短线操作机会,都是非常好的指标信号和辅助操作功能。

weixin_69760830的博客 1600

MySQL8.4主从复制

1 什么是复制MySQL Replication是官方提供的主从同步方案,是使用最广的同步方案;Replication使来自于一个MySQL数据库服务器(源Source)的数据能够复制到一个或者多个MySQL服务器(副本);默认情况下,复制是异步的;副本不需要永久连接即可从源接收更新可以指定库,指定表进行复制根据主从复制的特点,可以实现MySQL读写分离2 复制的优势&缺点2.1 复制的优势高可用:通过复制机制,MySQL实现跨主机的数据复制,从而获得一定的高可用能力。

GzlAndy的博客 1577

从代码层面分析STM32 标准库和HAL库的差异

相当于每个设置都是独立的函数。HAL库将一段代码通过宏定义的方式封装成了一个函数,每个端口的时钟都单独的定义了一个名称,标准库是一个独立的函数,通过参数传递的方式来设置每个端口的时钟。这两个版本的函数本质上操作的还是寄存器,不过HAL库操作的只是BSRR寄存器,而标准库端口置1的时候操作的是BSRR寄存器,端口清0的时候操作的是BRR寄存器。标准库设置端口模式的时候,是在if语句中判断之后直接设置的,而HAL端口模式设置时,却使用了switch语句去设置,说明在HAL库中,端口模式和标准库中发生了改变。

HXYDJ的博客 2万+

继电保护整定值计算软件_「全套69份」整定值计算与设计方案

【全套69份】整定值计算与设计方案,输电线路、变压器、发电机、电容器、母线保护等下载方式见文末内容预览:10kV高压电机保护原理及整定计算35kV环网运行线路继电保护整定计算方案分析35KV以下继电保护及三段式电流保护整定计算110 kv电网计算机整定计算新方案220kV两相式电铁牵引站供电线路的短路故障计算及其保护整定原则分析220kV周潮线接地距离保护整定计算特殊方案750 kV变压器保护配置...

weixin_30825953的博客 5013

『Mysql集群』Mysql高可用集群之主从复制 (一)

mysql 主从复制搭建, 基于pos主从复制和基于GTID的主从复制

gorgor在码农 1832

一次渗透测试引发的Json格式下CSRF攻击的探索

一次渗透测试引发的Json格式下CSRF攻击的探索

weixin_52501704的博客 1044

mysql主从复制(一):一主多从

一  应用背景      MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。下图就描述了一个多个数据库间主从复制与读写分离的模型。web服务器(tomcat,apache,iis,weblogic等)从多个slave数据库进行读操作,从master数据库进行写操作,如图:在...

御前两把刀的专栏 1万+

Fastp实战指南:高效处理fastq数据的质控技巧

本文是Fastp实战指南,详细介绍了如何使用Fastp工具高效处理fastq数据的质控技巧。从数据清洗的必要性、基础命令解析,到高级参数定制、UMI数据处理及批量自动化流程,提供一站式解决方案。Fastp以其“All-in-One”的快速质控能力,帮助用户确保测序数据质量,为后续生物信息学分析奠定可靠基础。

weixin_29254029的博客 387

GEE初学:谷歌地球引擎GEE入门指南(最新注册全流程)

本教程详细介绍了谷歌地球引擎(GEE)的注册与基础操作流程。主要内容包括:1)非商业账号注册步骤,需提供学术机构凭证和研究目的;2)Google Cloud项目创建与API激活;3)Shapefile文件上传方法及资源ID获取;4)JavaScript脚本编写与地图可视化实现。教程通过代码示例展示了两种多边形显示方式(填充和轮廓模式),并强调了GEE的云端处理优势,包括免费访问40多年卫星数据、无需本地高性能硬件等特点。整个流程从账号注册到首个地图可视化完成约需10-15分钟,适合遥感分析初学者快速入门。

此星光明博客 2138

【MySQL】MySQL复制架构

一主多从复制架构 在实际应用场景中,MySQL复制90%以上都是一个Master复制到一个或者多个Slave的架构模式。 在主库读取请求压力非常大的场景下,可以通过配置一主多从复制架构实现读写分离,把大量的对实时性要求不是特别高的读请求通过负载均衡分部到多个从库上(对于实时性要求很高的读请求可以让从主库去读),降低主库的读取压力,如下图所示。 缺点: master不能停机,停机就不能接收写请求 slave过多会出现延迟 由于master需要进行常规维护停机了,那么必须要把一个slave提成master

morris 3万+

[Dify实战] 做企业内部助手时,最容易被低估的不是提示词,而是权限、状态同步和反馈回写

这篇文章围绕“做企业内部助手时”这个具体问题展开,很多团队做企业内部助手时,最先优化的是提示词,但真正决定系统能不能上线长期跑下去的,往往是权限边界、状态同步和反馈回写闭环。正文会结合Dify拆解节点设计、配置建议和测试样例,补充关键步骤、检查点和常见坑,帮助读者判断第一版该怎么落地,并把经验复用到自己的真实业务场景中。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 68

深入MySQL复制(一)

转载请务必在文章最开头标明原文地址 本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9155003.html#blog4.2强烈谴责大量盗文狗:波波说运维,说不定你们的文章也已被抄袭 本文非常详细地介绍MySQL复制相关的内容,包括基本概念、复制原理、如何配置不同类型的复制(传统复制)等等。在此文章之后,还有几篇文章分别介绍GTID复...

anzhen0429的博客 347

RK3568平台开发系列讲解(DMA篇)DMA engine使用

DMA传输属于异步传输,在启动传输之前,slave driver需要将此次传输的一些信息(例如src/dst的buffer、传输的方向等)提交给dma engine(本质上是dma controller driver),dma engine确认okay后,返回一个描述符(由struct dma_async_tx_descriptor抽象)。DMA_PREP_PQ_DISABLE_P、DMA_PREP_PQ_DISABLE_Q、DMA_PREP_CONTINUE,PQ有关的操作,TODO。

内核笔记 1721

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MySQL 主从复制与一主多从架构实战详解

MySQL 的主从复制为分布式架构提供了坚实的基础。不论是一主多从、主主复制,还是读写分离,在不同规模和业务需求下都能灵活组合构建高可用、高性能的数据库架构。

2303_78594540的博客 2735

温度PID控制PLC程序

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

MySQL复制拓扑4

MySQL复制拓扑的启用GUID并配置循环复制。

K要努力的博客 884

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MySQL主从复制有哪几种类型_MySQL常用的4种主从复制架构

复制的4中常见架构有一主多从复制架构、多级复制架构、双主(Dual Master)复制架构和多源(Multi-Source)复制架构。一主多从复制架构在主库读取请求压力非常大的场景下,可以通过配置一主多从复制架构实现读写分离,把大量的对实时性要求不是特别高的读请求通过负载均衡分部到多个从库上(对于实时性要求很高的读请求可以让从主库去读),降低主库的读取压力,如下图所示。在主库出现异常宕机的情况下,...

weixin_42160252的博客 1148

MySQL基于位点复制:一主两从架构完整部署指南

基于位点的一主两从架构部署核心在于 “精准定位同步起点”,通过 Xtrabackup 全量备份 + Binlog 位点同步,实现数据一致性复制。该架构适用于中小规模业务,可提升读性能(从库分担查询压力)和数据可用性(主库故障时从库可切换)。后续可结合 Keepalived 实现主从自动切换,进一步提升架构高可用性。

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

学习笔记(一)MySQL复制原理及应用场景

基于Row的行格式被应用的更广泛,虽然这种模式下对资源的开销会偏大,但数据变化的准确性以及可靠性是要强于Statement格式的,同时这种模式下的Binlog提供了完整的数据变更信息,可以使其应用不被局限在MySQL集群系统内,可以被例如Binlogserver,DTS数据传输等服务应用,提供灵活的跨系统数据传输能力,目前互联网业务的在线MySQL集群全部都是基于Row行格式的Binlog.异步复制会使得从库的数据落后,而半同步复制则会阻塞主库的写入,影响性能。

m0_60006388的博客 1188

MySQL 8一主两从异步复制实战

MySQL 的复制(Replication)是指将一个 MySQL 服务器上的数据同步到另一个 MySQL 服务器上的过程。高可用性能扩展异地灾备交易分离没有“故障自动转移”,容易造成单点故障主库从库之间有主从复制延迟问题,容易造成最终数据的不一致从库过多的话会对主库的负载以及网络带宽带来负担。

weixin_58611042的博客 1132

MySQL复制(一):异步复制(Asynchronous replication)

MySQL的复制就是将来自一个MySQL数据库服务器(主库)的数据复制到一个或多个MySQL数据库服务器(从库)。其工作原理是通过binlog(二进制日志)记录事务变更然后传送到从库并重放事务,保持数据一致。

最简单的方法,解决最实际的问题。 3436

【MySQL】MySQL复制之GTID复制

从MySQL 5.6.5开始新增了一种基于GTID的复制方式。通过GTID保证了每个在主库上提交的事务在集群中有一个唯一的ID。这种方式强化了数据库的主备一致性,故障恢复以及容错能力。 GTID是什么 GTID (Global Transaction ID) 是对于一个已提交事务的编号,并且是一个全局唯一的编号。 GTID实际上是由UUID+TID 组成的。其中UUID是一个 MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。 下面是一个GTID的具体形式:3E11

morris 3万+

MySQL系列文章:使用dbops搭建MySQL8.4.3 一主一备

使用dbops搭建MySQL8.4.3 一主一备以 MySQL8.4.3 一主一备为例以上就是使用dbops搭建MySQL8.4.3 一主一备的整个安装过程,有问题的小伙伴评论区留言哈!

扑火的小飞蛾 1578

一、MySQL主从复制原理

MySQL主从复制一、MySQL主从复制原理二、搭建MySQL主从复制(1)MySQL主服务器建立时间同步(2)MySQL从服务器进行时间同步(3)关闭防火墙(或开启相应端口)(4)安装MySQL数据库(5)配置MySQL主服务器(6)配置MySQL从服务器(7)验证主从复制效果总结 一、MySQL主从复制原理 MySQL的主从复制和MySQL的读写分离两者有必然的联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离 1)MySQL支持的复制类型 (1)基于语句的复制:在主服务器上

qxdbb的博客 4906
上一篇: 3.mysql学习笔记:mysql常见操作
下一篇: 5.mysql学习笔记:复制的原理
linux_player_c
博客等级 码龄13年 214粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值