十五天MySQL学习计划(运维篇-完结)读写分离-第十五天

news/2025/3/15 15:59:40/

十五天MySQL学习计划(运维篇-完结)读写分离-第十五天

读写分离

1.读写分离

​ 读写分离,简单的说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主服务器提供写操作,从数据库提供读操作,这样能有效的减轻单台数据库的压力。

​ 通过mycat即可轻易实现上述功能,不仅可以支持mysql,也可以支持oracle和sql server。

请添加图片描述

2.一主一从

​ MySQL的主从复制,是基于二进制日志实现的。

请添加图片描述

3 .一主一从读写分离

​ mycat控制后台数据库的读写分离和负载均衡由schema.xml文件datahost标签的balance属性控制。

配置1


请添加图片描述

配置2

请添加图片描述

参数值含义
0不开启读写分离机制,所有读操作都发送到当前可用的writehost上
1全部的readhost与备用的writehost都参与select语句的负载均衡(主要针对于双主双从模式)
2所有的读写操作都随机在writehost,readhost上分发
3所有的读请求随机分发到writehost对应的readhost上执行,writehost不负担读压力

4.双主双从

​ 一个主机master用于处理所有写请求,它的从机slave1和另一台主机maste2还有它的从机slave2负责所有的主请求。当master1主机宕机后,master2主机负责写请求,master1,master2互为备机,架构图如下:

请添加图片描述

请添加图片描述

1.主库配置-第一台主库

​ 1.修改配置文件/etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一
server-id=1
#指定同步的数据库
binlog-do-db=db01
binlog-do-db=db02
binlog-do-db=db03
#在作为数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates

​ 2.重启MySQL服务器

systemctl restart mysqld
2.主库配置第二台

​ 1.修改配置文件/etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一
server-id=3
#指定同步的数据库
binlog-do-db=db01
binlog-do-db=db02
binlog-do-db=db03
#在作为数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates

​ 2.重启MySQL服务器

systemctl restart mysqld
3.两台主服务器都需要配置

1.两台主库创建账户并授权(8.0)

#创建授权用户,并设置密码,该用户可在任意主机连接该MySQL服务
create user 'itcast'@'%' identified with mysql_native_password by '1234.Com';
#为itcat用户分配主从复制权限
grant replication slave on *.* to 'itcast'@'%';

2.通过指令,查看两台主库的二进制日志名字和坐标位置

show master status;
4.从服务器配置(两台)

1.修改配置文件/etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一
#第一台
server-id=2#第四台
server-id=4

​ 2.重启MySQL服务器

systemctl restart mysqld

​ 3.两台从库配置关联主库

请添加图片描述

change master to master_host='xxx',master_user='xxx',master_password='xxx',master_log_file='xxx',master_log_pos=xxx;

需要注意slave1对应的是master1,slave2对应的是master2.

​ 启动两台从库主从复制,查看从库状态

start slave;
show slave status\G
5.两台主服务器相互做主从

master2复制master1,master1复制master2

change master to master_host='xxx',master_user='xxx',master_password='xxx',master_log_file='xxx',master_log_pos=xxx;

启动查看两台主服务器的主从复制

start slave;
show slave status\G
6.测试

分别在两台主库master1,master2上执行DDL,DML语句,查看涉及到数据库服务器的数据同步情况。

5.双主双从读写分离

​ mycat控制后台数据库的读写分离和负载均衡由schema.xml文件datahost标签的balance属性控制,通过writeType及switchType来完成失败自动切换的。、

请添加图片描述

balance="1"代表全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1-》S1,M2-》S2.并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡;
write Type0:写操作都转发到第1台writeHost,writeHost1挂了,会切换到writeHost2上;1:所有操作都随机的发送到配置的writeHost上;
switchType-1:不自动切换1:自动切换

测试

​ 登录mycat,测试查询及更新操作,判定是否能够进行读写分离,以及读写分离的策略是否正确。

​ 当主库挂掉一个之后,是否能够自动切换。

6.总结

1.介绍

​ 读写分离是为了降低单台服务器的访问压力,写走主库,读走从库。

2.一主一从

​ MySQL主从复制是基于二进制日志binlog实现的。master,salve

3.一主一从读写分离

	<writehost> 	<readhost/> <writeHost>,balance属性

4.双主双从

​ 两台主库,相互复制,互为主备,增强MySQL的可用性

5.双主双从读写分离

	<writehost> 	<readhost/> <writeHost>,balance属性 writetype switchType

salve

3.一主一从读写分离

	<writehost> 	<readhost/> <writeHost>,balance属性

4.双主双从

​ 两台主库,相互复制,互为主备,增强MySQL的可用性

5.双主双从读写分离

	<writehost> 	<readhost/> <writeHost>,balance属性 writetype switchType

http://www.ppmy.cn/news/70386.html

相关文章

Knife4j文档请求异常(更新)

文章目录 1. 多模块注解不当引起2. SpringSecurity白名单问题 1. 多模块注解不当引起 在SpringBoot项目中&#xff0c;如果是分不同的模块开发。 注解配置 EnableSwagger2WebMvc不在启动类上&#xff0c;而是加到了其他模块的注解中&#xff0c;可能会导致这种情况发生。 我的…

NXP公司LPC21xx+热敏电阻实现温度检测

LPC2131/32/34/36/38微控制器基于16位/32位Arm7TDMI-S™CPU&#xff0c;支持实时仿真和嵌入式跟踪&#xff0c;具有尺寸小&#xff0c;功耗低&#xff0c;多个32位定时器、单/双10位8通道ADC、10位DAC、PWM通道、47个GPIO线&#xff08;它们拥有多达9个边沿或电平触发的外部中断…

NISP二级证书含金量如何

国家信息安全水平考试&#xff08;National Information Security Test Program&#xff0c;简称NISP&#xff09;&#xff0c;是由中国信息安全测评中心实施培养国家网络空间安全人才的项目。 为培养更多优秀的实践型网络安全人才&#xff0c;中国信息安全测评中心推出了国家…

Questasim设置仿真随机种子(random seed)

在systemverilog代码运行中&#xff0c;EDA工具会先给1个随机种子值(seed)&#xff0c;所有代码里的随机数都是根据这个初始种子衍生出来的。因此&#xff0c;通常来说&#xff0c;只要代码没有改动&#xff0c;且初始种子一样&#xff0c;那么仿真运行结果也一样。那么在quest…

SPI接口协议详解

一、SPI总线简介 SPI总线是摩托罗拉公司开发的一种高速、全双工、同步的通信总线&#xff0c;它通常由四条线组成&#xff1a; CS 片选信号SCLK 时钟信号MOSI 主机输出从机输入接口MISO 主机输入从机输出接口 SPI分为主机和从机&#xff0c;主机提供通信所需的时钟信号。 二…

ArcGis教程-画一幅城市的shp地图

怎样使用ArcGis10.6得到这么一幅shp地图呢&#xff1f; 首先打开ArcGis10.6&#xff0c;点击带黄底的小加号&#xff0c;添加底图。 可以选择中国地图彩色版&#xff0c;然后双击&#xff0c;转动鼠标滑轮找到属于自己的城市。 点击-目录&#xff0c;在新建的文件夹里右击-新建…

捷威信keithley吉时利2410数字源表 销售回收KEITHLEY2470新款源表

吉时利Keithley 2410 /2470高压源表/数字源表 产品概览 Keithley 2410 高压源表专为需要紧密耦合源和测量的测试应用而设计。Keithly 2410 提供精密电压和电流源以及测量功能。它既是高度稳定的直流电源&#xff0c;又是真正的仪器级 5-1/2 数字万用表。电源特性包括低噪声、…

《C++primer》1~2章总结

《Cprimer》 开始变量和基本类型 开始 根据 根据使用的GNU编译器版本&#xff0c;制定对哪个C版本支持 -stdcXX 编译器通常包含一些选项&#xff0c;能对有问题的程序结构发出警告&#xff0c;打开这些选项是一个好习惯&#xff0c;我们习惯在g中使用 -Wall 练习1.2 test_1…