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

news/2024/5/21 0:35:35/文章来源:https://blog.csdn.net/weixin_53678904/article/details/130677156

十五天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.luyixian.cn/news_show_303026.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLAB CI-CD语法

GitLAB CI-CD语法 目录 1、Pipeline核心语法 gitlab-ci语法&#xff1a; https://docs.gitlab.com/ee/ci/yaml/ stages 阶段控制 .pre阶段的作业总是在流水线开始时执行&#xff1b;.post阶段的作业总是在流水线结束时执行&#xff1b; CI代码&#xff1a; stages:- build…

x509证书-crl证书吊销

标准 CRL fields -- 版本、时间、证书序列号和扩展名 -- 都是在4.1节的ASN.1中定义的 -- AlgorithmIdentifier 在第 4.1.1.2 节中定义 以下各项描述了 X.509 v2 CRL 在 Internet PKI 中的使用。 关于签名值和验证 signatureValue 字段包含根据 ASN.1 DER 编码的 tbsCertList 计…

ChatGPT 提问,软件杂项部分

堆内存与栈内存一般分别 有多少 ChatGPT 堆内存和栈内存的大小取决于操作系统和编译器的限制以及程序的运行环境。以下是一些常见的默认大小范围&#xff0c;但请注意这些值可以因环境而异&#xff1a; 栈内存大小&#xff1a; Windows平台&#xff1a;默认情况下&#xff…

AI心理咨询师:舒缓焦虑,解放压力的秘诀

在如今高压力的生活和工作环境下&#xff0c;焦虑和内耗成为了越来越多人的问题。这一现象对我们的身体和心理都会造成很大的影响。如何治愈我们的焦虑和精神内耗&#xff1f; 1.减少工作压力 - 了解和认可自己的能力和限制&#xff0c;不要让工作压力压垮自己。 - 适当的规…

C++ 实现堆排序

时空复杂度 时间复杂度 排序复杂度 O ( n l o g n ) O(nlogn) O(nlogn) 建堆复杂度 O ( n ) O(n) O(n) 空间复杂度 由于堆排序是一种就地设计的排序算法&#xff0c;空间需求是恒定的&#xff0c;所以是O(1) 稳定性 不稳定。 C代码&#xff08;大根堆&#xff09; cla…

选Ubuntu 还是 Fedora ?

提起开发&#xff0c;程序员们更青睐于不同版本的Linux操作系统而不是Windows。 为什么&#xff1f;因为Linux操作起来更安全、快捷&#xff0c;最重要的是&#xff0c;它的发行版本众多。你可以根据需要挑选最适合的那一款。那么&#xff0c;问题来了&#xff0c;到底哪个版本…

MySQL高级_第12章_数据库其它调优策略

MySQL高级_第12章_数据库其它调优策略 1. 数据库调优的措施 1.1 调优的目标 尽可能 节省系统资源 &#xff0c;以便系统可以提供更大负荷的服务。&#xff08;吞吐量更大&#xff09; 合理的结构设计和参数调整&#xff0c;以提高用户操作 响应的速度 。&#xff08;响应速…

MySQL:数据库的约束

目录 1.数据库约束 1.1 非空&#xff1a;not null 1.2 唯一&#xff1a;unique ​​​​​​​ 1.3 默认值&#xff1a;default 1.4 列描述&#xff1a;comment 1.5 主键约束&#xff1a;primary key 1.6 外键约束 1.7 综合案例 2.插入查询结果 3.聚合函数 4.group by…

百汇BCR:如何参与外汇交易?哪个交易时间更好?

外汇市场时连续24小时运转的&#xff0c;也就是说随时都可以参与交易。那不同的交易时间进场是否会影响交易结果&#xff1f;哪个时间参与交易更好&#xff1f; 一、国际主要市场外汇交易时间&#xff08;北京时间&#xff09; 新西兰惠灵顿外汇市场&#xff1a;04&#xff1a…

Windows平台上的5种敏捷软件开发(过程)模型

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天总结一下Windows平台上的5种敏捷软件开发(过程)模型。 说到这个问题&#xff0c;你必须先知道除了敏捷模型还有没有其他什么模型&#xff1f;同时要比较模型的区别&#xff0c;首先还要看看什么叫软件开…

【C++初阶】:模板初阶

模板初阶 一.函数模板1.简单使用2.模板原理3.函数模板的实例化4.模板参数的匹配原则 二.类模板1.基本格式2.类模板实例化 一.函数模板 1.简单使用 函数模板代表了一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用时被参数化&#xff0c;根据实参类型产生函数的…

Linux:iptables防火墙

Linux&#xff1a;iptables防火墙 一、iptables防火墙概述1.1 iptables防火墙1.2 netfilter/iptables 关系 二、Linux防火墙基础2.1 iptables的表、链结构2.2 数据包控制的匹配流程 三、编写防火墙规则3.1 基本语法、控制类型3.2 添加、查看、删除规则等3.3 规则的匹配条件3.3.…

EW代理工具的使用说明

一、EW介绍 Earthworm&#xff08;EW&#xff09; 是一套便携式的网络穿透工具&#xff0c;具有 SOCKS v5服务架设和端口转发两大核心功能&#xff0c;可在复杂网络环境下完成网络穿透。 该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道&#xff0c;直达…

C语言深度解析--函数

函数 函数的定义&#xff1a; 函数&#xff0c;又称为子程序&#xff0c;是一个大型程序中的某部分代码&#xff0c;由一个或多个语句块组成。它负责完成某项特定任务&#xff0c;而且相较于其他代码&#xff0c;具备相对独立性。 一般会有输入参数并有返回值&#xff0c;提供…

win10 vmware虚拟机蓝屏怎么办 win10 vmware虚拟机蓝屏解决方法【详解】

最近有朋友出现win10 vmware虚拟机蓝屏的情况应该怎么办&#xff1f;小伙伴们在使用vmware虚拟机出现了蓝屏现象的小伙伴们不用担心&#xff0c;小编翻阅各种资料后给大家带来两种虚拟机蓝屏的解决方法&#xff0c;想要解决此问题的小伙伴们快跟着小编往下看吧&#xff01; win…

nodejs进阶(3)—路由处理

1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回。 url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) 接收参数&#xff1a; urlStr url字符串 parseQueryString 为true时将使用查询模…

再次比较以1为参照的6-3分布

( A, B )---1*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有1个节点&#xff0c;AB各由9张二值化的图片组成&#xff0c;让A中有3个0&#xff0c;6个1.B中全是1&#xff0c;排列组合A的所有可能&#xff0c;统计迭代次数的顺序。 得到数据 迭代次数平均值 A-B 迭代次数 F 9 …

数据结构总结1:了解数据结构、时间复杂度、空间复杂度

后续可能会有补充和更改 目录 一、数据结构 1.算法介绍 二、时间复杂度、空间复杂度 三、练习 1.时间复杂度 2.空间复杂度 一、数据结构 数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。 数据结构和数据库的区…

【C++】-模板初阶(函数和类模板)

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、为什么要模板&…

SpringMVC的拦截器(Interceptor)

文章目录 1 拦截器概念2 拦截器入门案例2.1 环境准备2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:运行程序测试步骤5:修改拦截器拦截规则步骤6:简化SpringMvcSupport的编写 3 拦截器参数3.1 前置处理方法3.2 后置处理方…