mysql 主从复制学习

MySql主从复制学习手记 什么是主从复制将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,在从库中对主库复制过来的二进制日志进行重执行,从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL主从复制的优点: 主库出现问题,可以快速切换到从库并由从库提供服务。 实现读写分离,降低主库的访问压力。 可在从库中执行备份,避免备份期间对主库服务的影响。主从复制原理复制过程如下: 1. Master 主库在事务提交时,会把数据变更记录 阅读详情

mysql 主从复制学习

什么是主从复制

MySQL主从复制是其最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。

主从复制的过程

在这里插入图片描述
1、首先client端(tomcat)将数据写入到master节点的数据库中,master节点会通知存储引擎提交事务,同时会将数据以(基于行、基于sql、基于混合)的方式保存在二进制日志中

2、SLAVE节点会开启I/O线程,用于监听master的二进制日志的更新,一旦发生更新内容,则向master的dump线程发出同步请求

3、master的dump线程在接收到SLAVE的I/O请求后,会读取二进制文件中更新的数据,并发送给SLAVE的I/O线程

4、SLAVE的I/O线程接收到数据后,会保存在SLAVE节点的中继日志中

5、同时,SLAVE节点钟的SQL线程,会读取中继日志钟的数据,更新在本地的mysql数据库中

6、最终,完成slave——>复制master数据,达到主从同步的效

记住两个日志和三个线程:

两个日志:二进制日志(bin log) 、中继日志(Relay log)

三个线程:I/O线程、dump线程、SQL线程

注意:中继日志通常会位于 OS 缓存中,所以中继日志的开销很小。

       复制过程有一个很重要的限制,即复制在 Slave上是串行化的,也就是说 Master上的并行             更新操作不能在 Slave上并行操作。

      半同步复制,会多一个ack确认线程(ack collector thread),专门用于接收slave 的反馈            信息(收集slave节点返回的ack信息)。
mysql 主从复制延迟原因
  1. master服务器高并发,形成大量事务
  2. 网络延迟
  3. 主从硬件设备导致
  4. cpu主频、内存io、硬盘io
  5. 本来就不是同步复制、而是异步复制
  6. 从库优化Mysql参数。比如增大innodb_buffer_pool_size,让更多操作在Mysql内存中完 成,减少磁盘操作。
  7. 从库使用高性能主机。包括cpu强悍、内存加大。避免使用虚拟云主机,使用物理主机,这样提升了i/o方面性。
  8. 从库使用SSD磁盘
  9. 网络优化,避免跨机房实现同步
mysql 主从复制模式
  1. 异步复制(Asynchronous replication): MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整
  2. 全同步复制(Fully synchronous replication):指当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会收到严重的影响。
  3. 半同步复制(Semisynchronous replication):介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使用。
主从架构 (这里使用了一出一从)

master: 192.168.1.239
slave: 192.168.1.238

master
  1. 安装mysql
  2. 关闭防火墙
  3. 修改 /etc/my.cnf 文件,添加如下两行
log_bin=mysql-bin    #启用二进制文件
server-id=1			 # 服务器唯一ID。唯一即可
  1. 然后重启mysql
    在这里插入图片描述
  2. 进入mysql,然后使用grant语句配置slave访问master的权限,ip 为slave的ip
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'IP' identified by 'slave';   #语法
GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'192.168.1.238' identified by '123456';
flush privilages;  # 刷新权限
  1. 执行成功后,使用 show master status;即可查看二进制日志和偏移量
    在这里插入图片描述
slave
  1. 按照同样的步骤对slave的机器安装mysql,关闭防火墙。
  2. 修改 /etc/my.cnf
server-id=2  # 不要和 master 一样
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
relay_log_recovery=1
  1. 重启登录mysql
  2. 设置主库地址及同步位置
change master to master_host='192.168.1.239',master_user='xiaoming',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
flush privilages;
#参数说明
A. master_host : 主库的IP地址
B. master_user : 访问主库进行主从复制的用户名(上面在主库创建的)
C. master_password : 访问主库进行主从复制的用户名对应的密码
D. master_log_file : 从哪个日志文件开始同步(上述查询master状态中展示的有)
E. master_log_pos : 从指定日志文件的哪个位置开始同步(上述查询master状态中展示的有)
  1. 查看从数据库的状态 show slave status;
    在这里插入图片描述
  2. 当看到两个yes的时候表示主从数据库创建成功
零基础学习mysql主从复制 今天给大家分享一下mysql主从复制如何实现,我是通过下班后自学,学了一周才学会的(是不是很笨(⊙_⊙) )相信聪明的你们看了我写的这篇博客两个小时就可以get到msyql主从复制的原理… 好,接下来我们进入今天的正题; 1.先看实现效果(我这里使用的是两个虚拟机,版本号为Centos6.5) 2.第一步,在mysql官网下载rpm本地电脑上;我使用的版本为mysql-5.7.27-1.el6.x... 阅读详情

相关推荐

Mycat【MySQL主从复制原理、二进制日志管理、搭建MySQL主从复制、安装MySQL数据库 、基于Docker搭建MySQL主从复制】(二)-全面详解(学习总结---从入门到深化)

Mycat【MySQL主从复制原理、二进制日志管理、搭建MySQL主从复制、安装MySQL数据库 、基于Docker搭建MySQL主从复制】(二)-全面详解(学习总结---从入门到深化)

639

关于学习MySQL的主从复制

前期的准备工作两台虚拟机 我使用的系统是Ubuntu系统,IP地址这里设置为2.220和2.130,需要安装MySQL数据库,我选择的版本是在这里我使用的是.220作为主数据库的,.130作为从数据库的。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c38e1c8b36fb46c3ae34178fd7196d81.png.220。

Becausec的博客 752

PPT高清导出秘籍:如何轻松设置600dpi图片分辨率

本文详细解析了PPT导出图片模糊的根本原因,并提供了通过修改Windows注册表将导出分辨率从默认的96dpi提升至600dpi的完整教程。该方法能显著提升图片清晰度,满足学术出版与高质量印刷需求,文中还包含效果对比、进阶设置及常见问题解答。

a0b1c2d3的专栏 1319

Docker学习+基于Docker MySQL的主从复制

1.Docker学习 1.容器操作: 1.查看dokcer信息或版本  docker info   docker -v 2.获取docker所有命令  docker help  获取命令的参数  man docker-命令  eg:获取 docker run 命令的所有参数     man docker-run   3.基于docker镜像运行容器  docker run

逍遥飞鹤的专栏 7755

Silvaco Atlas从头开始(四)——定义材料参数和模型

这部分是关于定义材料参数和模型。

qsz1425AWD2121的博客 4652

Investigating Bi-Level Optimization for Learning and Vision from a Unified Perspective: A Survey and

文章首先从双层优化的角度统一表示了超参数优化、多任务和元学习等复杂学习和视觉问题,建立了一个基于最佳响应的单层重构和一个统一的算法框架,来制定一个基于梯度的双层优化方法,最后讨论了该框架的潜力和未来研究方向。...

dawnyi_yang的博客 1110

MySQL主从复制学习

文章目录概述MySQL复制的优点MySQL复制的类型主备通用设置主库上的设置备库上的设置创建复制用户备库上的数据使用mysqldump使用 XtraBackup全备搭建主从建立备库连接半同步复制概述安装插件延迟复制概述信息显示 概述 之前学过MySQL主备的简单搭建,内容很少,这次就从官方手册的介绍系统的学习一下MySQL主备复制的相关知识 MySQL复制的优点 横向扩展解决方案:在多个从库之...

高云平的博客 453

7、复杂分布式水文模型的两阶段代理参数校准框架

本文提出了一种针对复杂分布式水文模型的两阶段代理参数校准框架,旨在解决可变入渗能力模型(VIC)在参数校准过程中计算成本高、耗时长的问题。该框架结合AdaBoost与反向传播神经网络(BPNN)构建高精度代理模型,并引入ε-NSGA II多目标优化算法加速搜索最优参数集。通过在兰江流域和湘江流域的实验验证,该方法在校准效率上提升了约20倍,同时保持了高模拟精度(NSE接近1,Bias接近0)。框架采用两阶段设计:第一阶段(SM-I)快速筛选关键参数范围,第二阶段(SM-II)进行高精度预测,显著减少了无效计

apple5的专栏 87

MySQL学习一:MySQL主从复制

文章目录一、概述二、MySQL主从复制架构三、MySQL主从复制过程 一、概述 MySQL主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在; 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故; 为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我

huiguo_的博客 179

白话机器学习算法理论+实战番外篇之Xgboost

1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等 无监督算法:聚类,降维,关联规则, PageRank等 我前面已经尝试用最白话的语言完成了一个白话机器学习算法理论+实战系列,这个系列已经基本包含了上面这些算...

Miracle8070 1万+

Claude Code Agents 进阶:多代理协作与任务委托

Agent 是一个独立运行的 Claude 实例,它有自己的上下文和任务焦点。│ 主 Claude ││ (协调者) ││ │ │▼ ▼ ▼│ 代码审查 │ │ 测试生成 │ │ 文档编写 ││ │ ││▼汇总结果,完成任务并行处理:多个 Agent 同时工作,提高效率任务隔离:每个 Agent 有独立的上下文专业分工:不同类型的 Agent 擅长不同任务灵活控制:可以指定运行模式、超时等参数。

gaoxiang_120的专栏 336

Mysql学习笔记---MySQL的集群架构主从复制实战

Mysql学习笔记—MySQL的集群架构主从复制实战 1.搭建环境 下载mysql的rpm包,解压 查看是否有安装的mariadbrpm -qa | grep mariadb 如果有就卸载,没有就跳过这步,卸载如下:rpm -e mariadb包的名称 --nodes 安装mysql的rpm包,是有顺序的,安装命令 rpm -ivh 包名 common包 libs包 libs-compat包 client包 server包 devel包 初始化一下mysql,使用命令如下:mysqld -

qq_39314972的博客 237

“华为杯”研究生数学建模竞赛2020年-【华为杯】B题:汽油辛烷值优化建模(附优秀论文)

摘 要:本文通过机器学习算法和数据挖掘技术,建立了汽油辛烷值(RON)损失的预测模型,在保证汽油产品脱硫效果的前提下,以降低汽油辛烷值损失在30%以上为目标,给出每个样本的优化操作条件。针对第一问,对285号和313号原始数据用给定的数据处理规范进行预处理,对每一列变量求期望,得到最终的数据补充到相应的样本编号。针对第二问,首先对数据样本按照最大最小限幅以及拉依达法则进行列变量清洗,通过两轮特征筛选确定变量:结合处理后的数据,针对产品中硫含量、RON损失值用。

getusushu的博客 1251

【MySQL学习】MySQL集群主从复制

读写分离很好的解决了主服务器的性能问题,可以让主服务器专注写数据,将读数据的操作压力分摊到各个从服务器上。同时多个MySQL服务器的同时运行,提高了集群的容错性。即使主服务器宕机,也能很快选出新的leader,减小了服务器宕机带来的损失。而读写分离需要解决一个主从复制的问题,来更好地保证数据的一致性。(通过缓存来解决) 一、主从复制常见架构 常规复制架构 一台master对应多台slave。master负责写,slave负责读。该方案因为只有一台服务器负责写数据,master宕机后,在重新选主的这段时

qq_36631553的博客 322

加速访问Cloudflare的网站的解决方案

本文主要介绍了加速访问Cloudflare的网站的解决方案,希望能对大家有所帮助。通过软件计算得到最快的IP地址的效果图如下图所示,具体解决方案参考下文。 在这里插入图片描述 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

mysql的主从复制学习经历

        对于很多大型网站(pv值百万、千万)来说,在所处理的业务中,其中有70%的业务是查(select)相关的业务操作(新闻网站,插入一条新闻。查询操作),剩下的则是写(insert、update、delete,只要能对MySQL的数据造成更改的操作都叫写操作)操作。在使用负载均衡集群之后,可以很大程度的提...

changebetter的博客 314

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mysql主从复制学习总结

mysql是一款很好用的数据库,易于上手,本篇文章记录了笔者进行mysql主从复制加读写分离的过程 环境:centos 7 + mysql 5.7 关于读写分离,可以参考我的另一篇文章https://blog.youkuaiyun.com/J4ffee/article/details/89325929 一、主从复制的搭建 运用两台服务器:一台主服务器,一台从服务器(从服务器可以加多台),主...

J4ffee的博客 452

深度学习工具包 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")

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MySQL学习之主从复制原理

阅读目录 概述 简单来说就是保证主服务器(Master)和从服务器(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟),通过这种方式来保证数据的一致性,就是Mysql复制 ...

yangyanping20108的博客 398

mysql主从复制学习分享

环境:centos6.8+mysql5.1(由于是通过yum安装的,所以mysql版本较低,但能满足要求) 1.准备两个虚拟机,一主一从,虚拟机之间互通,关闭各自的防火墙,ip地址分别是192.168.0.2,192.168.0.42.在centos系统里安装mysql,我的环境直接通过yum直接安装的,所以mysql是5.1版本的,如果想安装较高版本,可以直接去官网下载源码,通过源码安装。3.安

dengzyAHPU的博客 486

数据库学习(九)——MySQL主从复制

MySQL 主从复制(Replication)是指将主库(Master)上的数据变更实时同步到一个或多个从库(Slave),实现数据的冗余备份、负载均衡和容灾。

weixin_45857378的博客 613

MySQL主从复制原理学习

master 服务器将数据的改变记录二进制 binlog 日志,当 master 上的数据发生改变时,则将其改变写入二进制日志中;slave 服务器会在一定时间间隔内对 master 二进制日志进行探测其是否发生改变,如果发生改变,则开始一个 I/OThread 请求 master 二进制事件;

weixin_44265650的博客 810

MySql学习之主从复制

1、复制的基本原理 (1)master将改变记录到二进制日志(binary log)中。这些记录过程叫做二进制日志事件(binary log events)。 (2)slave将master的binary log events拷贝到它的中继日志(relay log)中。 (3)slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySql复制是异步的且串行化的。2、复制的基本原则(1)每

yjc_1111的专栏 411

MySQL8学习系列之——主从复制原理

有时我们会设置一个主库,多个从库。主从复制就是将主库的数据变化(增、删、改)同步到从库中。在 MySQL 8 中,主库被称为 source(源),从库被称为 replica(副本)。主从复制的基本原理是:主库将数据变化写入 binlog 中,从库从主库读取 binlog 后存放到自己的 relay log 中,然后重放 relay log 还原数据变化。设置主库和从库的好处有:1、实现读写分离。写操作走主库,读操作走从库,可以减轻主库的压力。在读多写少的场景下可以提升应用程序的性能。2、实现灾备。

weixin_44133019的博客 991

MySQL学习Day31-主从复制

异步模式就是客户端提交COMMIT之后不需要等从库返回任何结果,而是直接将结果返回给客户端,这样做的好处是不会影响主库写的效率,但可能会存在主库宕机而Binlog还没有同步到从库的情况,也就是此时的主库和从库数据不一致。数据备份实际上是一种冗余的机制,通过这种冗余的方式可以换取数据库的高可用性,也就是当服务器出现故障或宕机的情况下可以切换到从服务器上,保证服务的正常运行。Slave重做中继日志中的事件,将改变应用到自己的数据库中。会读取从库中的中继日志,并且执行日志中的事件,将从库中的数据与主库保持同步。

m0_50460160的博客 1067

mysql学习之主从复制

该文使用mysql5.5 centos6.5 64位 一、主从复制的作用 1、如果主服务器出现问题,可以快速切换到从服务器。 2、对与实时性要求不高或者更新不频繁的应用可以在从服务器上执行查询操作,降低主服务器的访问压力。将数据的读写进行分离从而达到负载的效果。 3、可以在从服务器进行数据备份操作,以避免备份期间对主服务器的影响。 二、搭建主从复制环境 master:192.168.6

j7lfhdxh的专栏 302

超简单的mysql主从复制学习文档

目录一、主从复制优势二、原理三、操作 一、主从复制优势 1. 可以进行读写分离操作,提高程序性能(主库写,从库读)。 2. 在主服务器进行备份,避免备份期间影响主服务器服务。 3. 当主服务器出现问题时,可以迅速切换至从服务器。 二、原理 1. 主服务器(mster) 将数据改变记录到二进制日志 (binary log) 文件中 2. 从服务器(slave) 将主服务器的binary log文件拷贝到自己的中继日志 (relay log) 中 3. 从服务器(slave) 重做中继日志中的事件 将改变应用到

weixin_44540711的博客 214
上一篇: zipkin
下一篇: mongodb 在linux 上的安装
高圆圆七号
博客等级 码龄9年 21粉丝 10原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值