Mysql的同步

datax数据同步 mysql全量同步mysql DataX是阿里巴巴开源的高性能异构数据源同步工具,专为解决大数据量场景下的数据同步痛点。其核心优势在于:1)支持多种异构数据源间同步;2)通过多线程并发机制提升性能;3)提供稳定可靠的重试机制和监控功能;4)简单易用的JSON配置方式。实际部署时需配置JDK和Python环境,通过编写JSON文件定义同步任务,支持单表或全库同步。典型应用场景包括MySQL到MySQL的数据同步,通过配置源库和目标库连接信息、并发通道数等参数,可实现高效稳定的数据迁移。 阅读详情

mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf)

在unix环境下在/etc/mysql/my.cnf 或者在mysql用户的home目录下面的my.cnf。

window环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的my.cnf 命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把my.cnf中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。

设置方法:

设置范例环境:

操作系统:window2000 professional

mysql:4.0.4-beta-max-nt-log

A ip:10.10.10.22

B ip:10.10.10.53

A:设置

1.增加一个用户最为同步的用户帐号:

GRANT FILE ON *.* TO backup@'10.10.10.53' IDENTIFIED BY ‘1234’
 


2.增加一个数据库作为同步数据库:

create database backup
 


B:设置

1.增加一个用户最为同步的用户帐号:

GRANT FILE ON *.* TO backup@'10.10.10.22' IDENTIFIED BY ‘1234’
 


2.增加一个数据库作为同步数据库:

create database backup
 


主从模式:A->B

A为master

修改A mysql的my.ini文件。在mysqld配置项中加入下面配置:

server-id=1
log-bin
#设置需要记录log 可以设置log-bin=c:mysqlbakmysqllog 设置日志文件的目录,
#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。
binlog-do-db=backup #指定需要日志的数据库
 


重起数据库服务。

用show master status 命令看日志情况。

B为slave

修改B mysql的my.ini文件。在mysqld配置项中加入下面配置:

server-id=2
master-host=10.10.10.22
master-user=backup #同步用户帐号
master-password=1234
master-port=3306
master-connect-retry=60 预设重试间隔60秒
replicate-do-db=backup 告诉slave只做backup数据库的更新
 


重起数据库

用show slave status看同步配置情况。

注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info

所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

双机互备模式。

如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。

在A的配置文件中 mysqld 配置项加入以下设置:

master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
 


在B的配置文件中 mysqld 配置项加入以下设置:

log-bin=c:mysqllogmysqllog
binlog-do-db=backup
 


注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start

重起AB机器,则可以实现双向的热备。

测试:

向B批量插入大数据量表AA(1872000)条

A数据库每秒钟可以更新2500条数据。

MySQL半同步复制 所以,半同步复制最好在低延时的网络中使用。MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。当半同步复制发生超时(由rpl_semi_sync_master_timeout参数控制,默认为10000ms,即10s),会暂时关闭半同步复制,转而使用异步复制,也就是会自动降为异步工作。 阅读详情

相关推荐

clickhouse 同步 mysql数据

clickhouse 同步 mysq数据

congge 4万+

Mysql数据库主从同步详解

mysql数据库的主从同步设置需要需改主库和从库的配置文件,并执行同步指令,步骤并不复杂。但是在部署过程中还是遇到一些问题,找了很久好像没人遇到相同的问题,因此将部署流程与遇到的问题分享出来,希望遇到同样问题时有参考依据。

August_Leaf的博客 1万+

别再只看pLDDT了!AlphaFold预测结果解读保姆级指南:pLDDT、PAE、pTM、ipTM到底怎么看?

本文详细解析了AlphaFold预测结果中的关键指标pLDDT、PAE、pTM和ipTM,帮助用户从单一依赖pLDDT进阶到全面理解蛋白质结构预测。通过实际案例和技巧,指导如何正确解读这些指标,避免常见错误,并提供了从预测到发表的实用建议。

weixin_29100399的博客 354

最全 MySQL主从同步与主主同步

mysql同步

weixin_47680367的博客 4902

手把手教你用SlowFast训练自定义手势识别数据集(附FFmpeg抽帧技巧)

本文提供了一份基于SlowFast架构训练自定义手势识别数据集的完整实战指南。文章重点剖析了数据准备的核心挑战,详细讲解了利用FFmpeg进行高、低帧率抽帧的技巧,并介绍了构建半自动标注流水线、生成符合SlowFast要求的AVA格式数据集文件的具体方法。最后,针对手势识别场景,给出了关键的模型训练配置与调优建议,帮助开发者高效完成从数据到模型的全流程。

s1t2u3的博客 909

【Python&RS】Rasterio库安装+基础函数使用教程

Rasterio是一个Python库,专门用于栅格数据的读写操作。它支持多种栅格数据格式,如GeoTIFF、ENVI和HDF5,为处理和分析栅格数据提供了强大的工具。RasterIO适用于各种栅格数据应用,如卫星遥感、地图制作等。这篇文章跟大家介绍一下Rasterio库的安装以及一些基本函数的使用教程,附带源码。

Remote Sensing迷途小书童 1万+

两个mysql数据库的同步方法

relay-log=mysql-relay-bin //设置了从服务器存储中集日志文件名的前缀,中继日志是从服务器接收主服务器二进制日志事件的记录,用于更新从服务器上的数据。log_slave_updates=1 //值为1时,从服务器执行的更新也会记录到自己的二进制日志中,用于链式复制,即一个从服务器同时又是另一个从服务器的主服务器。2. 在从数据库配置主数据库的IP,用户名,密码,日志文件名,和日志位置,打开mysql的控制台,执行如下代码。//启动从服务器,用stop slave;

weixin_58691040的博客 2861

STM32开发实战--解决STM32CubeMX生成代码时钟初始化卡死问题

本文详细分析了STM32CubeMX生成代码在时钟初始化阶段卡死的问题,提供了多种解决方案,包括简单修改和稳健的等待机制。通过深入探讨HAL库的时钟初始化陷阱及硬件层面的根本原因,帮助开发者快速定位并解决STM32开发中的常见问题。

weixin_26965807的博客 439

MySQL数据库同步方案

MYSQL主从同步架构设计

weixin_47000687的博客 3089

告别‘打架’的检测头:手把手教你用PyTorch实现YOLOv11解耦头(附完整代码)

本文详细解析了YOLOv11解耦检测头的创新设计与PyTorch实现,通过解耦分类和回归任务,显著提升目标检测性能。文章包含完整的代码实现、架构设计解析及工程调优技巧,帮助开发者深入理解并应用这一先进技术。

weixin_29031057的博客 301

用python提取PDF中各类文本内容的方法

用python提取PDF中各类文本内容的方法

安静的软件工程师 6086

mysql数据库主从同步

1.主库配置主从配置项,创建用于同步的账号,进行锁表,获取二进制日志的信息,备份数据2.从库配置主从配置项,备份数据导入,从库配置主库信息,开启主从同步,验证信息3.主库表解锁,手动创建库或者表,去从库验证是否同步。

weixin_44568463的博客 1627

特斯拉 Model 3解析(九)特斯拉 Model 3 自动驾驶域控制器硬件架构

硬件层:车规级高密度主板 → PI/SI优化到极致传感器层:三目摄像头主导视觉,雷达补充冗余,超声波保证近距设计理念:依靠芯片算力最大化视觉潜力,而不是堆传感器这套思路的优点是:成本可控、量产快、迭代快。缺点是:极端场景下感知鲁棒性不足。纯视觉方案短期可行,但中长期必然要重新引入高分辨率雷达甚至固态LiDAR作为冗余。电源/信号完整性会越来越关键,未来域控板设计会越来越像数据中心服务器。

weixin_43199439的博客 1784

clickhouse从MySQL同步数据

clickhouse从mysql同步数据MySQL引擎单次单表同步使用CSV文件导入(麻烦且慢)定时增量同步 MySQL引擎 MySQL引擎用于将远程的MySQL服务器中的表映射到clickhouse中,并允许对表进行insert和select操作,以方便在clickhouse与MySQL之间进行数据交换. MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到MySQL服务器中,因此以执...

weixin_43929380的博客 5620

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql同步数据_实现MySQL数据库数据的同步方法介绍

做开发的时候要做MySQL的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,MySQL的版本是4.1.15,都是目前最新的版本。1、安装配置两台服务器,分别安装好MySQL,都安装在 /usr/local/mysql 目录下(安装步骤省略,请参考相关文档),两台服务器的IP分别是192.168.0.1和192.168.0.2,我们把1...

weixin_31994237的博客 4836

深度学习工具包 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同步到ElasticSearch

ES 中,_开头的字段表示系统默认字段,比如 _id,如果系统不指定,会自动生成。但是不会在surce 字段中补充 id 的值,所以建议大家手动指定。在ElasticSearch中索引相当于mysql中的表,mapping相当于表结构,所以第一步我们要先创建索引。使用java客户端进行增删改查,第一步导入依赖。2、把参数组合为ES支持的搜索条件。3、从返回值中取结果。

m0_59230408的博客 2263

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

mysql 半同步 异步,MySQL异步、同步、半同步复制

异步复制MySQL复制默认是异步复制,Master将事件写入binlog,提交事务,自身并不知道slave是否接收是否处理;缺点:不能保证所有事务都被所有slave接收。同步复制Master提交事务,直到事务在所有slave都已提交,才会返回客户端事务执行完毕信息;缺点:完成一个事务可能造成延迟。半同步复制当Master上开启半同步复制功能时,至少有一个slave开启其功能。当Master向sla...

weixin_42212792的博客 1553

MySQL:异步、半同步、同步、异步

增强半同步复制(Enhanced Semi‐Synchronous Replication)依然属于半同步复制范畴,但用更现代的插件架构及更多可调参数来克服传统半同步的性能瓶颈与可用性限制。

喝醉酒的小白 1499

elastic如何和mysql同步数据,同步 MySQL 数据到 Elasticsearch

在加入 PingCAP 之前,很长一段时间,我都跟 MySQL 打交道。MySQL 性能强悍,但是在一些全文检索,复杂查询上面并不快,效率堪忧。为了解决快速查的问题,我们之前尝试考虑过 Sphinx,但总觉得使用起来不方便。恰好那时候碰到了 Elasticsearch(ES),立刻就觉得这特么就是我们要的东西。ES 底层基于 Lucene ,支持分布式,同时还提供了强大的 web 页面,点点鼠标就...

weixin_35823048的博客 1078

Debezium同步mysql数据

1.1 简介 为实现数据同步功能,进行debezium组件验证,编写此说明。 1.2 目标读者 使用数据同步组件相关人员,技术选型人员。 3.1 组件版本 (版本可换,保证kafka、mysql能用即可) Kafka:2.2.1+cdh6.3.2 Zookeeper:3.4.5+cdh6.3.2 MySql(MariaDB版本) Debezium:1.5.0 3.2 组件使用 MySQL安装在10.22.82.123节点,需开启binlog。 登录命令:mysql -uroot...

东城庞太师 3864

mysql实时同步软件,MySQL实时同步到Oracle 详解MySQL实时同步到Oracle解决方案

想了解详解MySQL实时同步到Oracle解决方案的相关内容吗,wahahaman在本文为您仔细讲解MySQL实时同步到Oracle的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:MySQL实时同步到Oracle,MySQL同步到Oracle,下面大家一起来学习吧。1 需求概述将MySQL5.6生产库多张表的数据实时同步到Oracle11g数据仓库,MySQL历史数据700G,平均每天...

weixin_35979889的博客 736

tbase同步mysql_同步 MySQL 数据到 Elasticsearch

在加入 PingCAP 之前,很长一段时间,我都跟 MySQL 打交道。MySQL 性能强悍,但是在一些全文检索,复杂查询上面并不快,效率堪忧。为了解决快速查的问题,我们之前尝试考虑过 Sphinx,但总觉得使用起来不方便。恰好那时候碰到了 Elasticsearch(ES),立刻就觉得这特么就是我们要的东西。ES 底层基于 Lucene ,支持分布式,同时还提供了强大的 web 页面,点点鼠标就...

weixin_39541767的博客 130

mysql同步_同步mysql

ElasticSearch同步MySQL的插件选择了elasticsearch-jdbc,理由是活跃度高,持续更新,最新版本兼容elasticsearch-2.3.3.一、下载二、mysql配置确保mysql能用,在mysql中新建一个test数据库mysql>create database test;新建一张user表mysql> create table user(id int(1...

weixin_28952633的博客 255

MySQL双主同步

MySQL,作为全球最流行的关系型数据库管理系统之一,以其卓越的性能、稳定性和灵活性,被广泛应用于各种规模和类型的业务场景。然而,随着业务复杂度的提升和用户需求的多样化,单一数据库实例已难以满足高可用性、数据一致性和负载均衡的综合需求。在这样的背景下,MySQL双主同步技术应运而生,成为提升数据库系统可用性和性能的关键策略之一。本文旨在深入探讨MySQL双主同步的实现原理、配置步骤和优化技巧,帮助大家更好地理解和掌握这一技术。

weixin_52811458的博客 1764

MySQL主从同步过程以及全同步、半同步

这样可以提高主库的写入性能,但可能会导致主从数据稍有延迟,因为并非所有从库都已经同步完成。需要注意的是,全同步模式相对于半同步模式来说,数据的一致性更高,但性能代价也更大。从数据库接收到主库发送的二进制日志后,从库会按照接收到的顺序逐条应用这些日志中的数据修改操作,使得从库的数据与主库保持同步。从库在同步过程中会记录自己已经成功同步的位置,以便在发生断线或重新连接时,能供从上次同步的位置继续。这确保了主从数据的完全一致性,但也导致主库的写入性能降低,因为主库需要等待从库的确认。

qq_46130027的博客 950
上一篇: 处理文件的方法
下一篇: 关于随机生成验证码的问题
samlover
博客等级 码龄25年 0粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值