数据库服务分布架构(MyCAT)

1.18.1数据库服务分布架构概述介绍
分布式架构理念:(基于业务逻辑分布式/基于程序逻辑分布式)
●架构演变过程早期,为了满足主要业务功能需求,可以将所有程序部署在一个服务器节点上;
·架构演变过程发展,为了满足主要业务压力增长,可以将所有程序拆分部署在不同服务器上;
●架构演变过程发展,为了满足主要业务安全稳定,可以将数据库设计成主从架构或读写分离;
●架构演变过程发展,为了满足多个业务数量增加,可以将架构环境根据业务的情况独立拆分;
●架构演变过程发展,为了满足单独业务数量激增I可以将多个数据表进行拆分到多个节点上;(垂直拆分-MyCAT进行数据表信息整合)
●架构演变过程发展,为了满足单独业务数量激增,可以将单个数据表进行拆分到多个节点上;(水平拆分-MyCAT进行数据表信息整合)
●架构演变过程发展,为了满足业务的数据搜索业务需求、缓存业务需求、大数据业务分析需求,还要引入NOSQL或NewSQL数据库;

 

传统网站架构的发展变化历程

1674788427009

数据库存储架构发展变化历程

1674788468176

1674788511223

1674788559115

 

架构规划

需要连个虚拟主机,每个虚拟主机中需要有4个实例

1674789847654

1674800966208

基础环境操作命令

# 删除历史数据库环境
pkill mysqld
rm -rf /data/330*
mv /etc/my.cnf /etc/my.cnf.bak# 创建相关目录初始化数据
mkdir /data/33{07..10}/data -p && chown -R mysql.mysql /data/*
初始化命令。。。

 

image

 systemctl文件

image

MyCAT分布式存储主从环境架构(进行多实例主从与双主架构)

实现双主关系建立

# 实现双主关系建立(10.0.0.51:3307 <--> 10.0.0.52:3307)
mysql -S /data/3307/mysql.sock -e "create user repl@'10.0.0.%'" identified with 
\mysql_native_password by '123';grant replication slave on *.* to repl@10.0.0.%;" db02上进行 mysql -S /data/3307/mysql.sock -e "create user root@'10.0.0.%'" identified with
\mysql_native_password by 'root';grant all on *.* to repl@10.0.0.%;" db02上进行

在db01数据库上进行操作
mysql -S /data/3307/mysql.sock -e "change master to master_host='10.0.0.52',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3307/mysql.sock -e "start slave;"
mysql -S /data/3307/mysql.sock -e "show slave status\G;" |grep Running;

在db02数据库上进行操作
mysql -S /data/3307/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3307/mysql.sock -e "start slave;"
mysql -S /data/3307/mysql.sock -e "show slave status\G;" |grep Running;
# 实现主从建立(10.0.0.51:3307 --> 10.0.0.51:3309)
mysql -S /data/3309/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3309/mysql.sock -e "start slave;"
mysql -S /data/3309/mysql.sock -e "show slave status\G;" |grep Running;
# 实现主从建立(10.0.0.52:3307 --> 10.0.0.52:3309)
mysql -S /data/3309/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3309/mysql.sock -e "start slave;"
mysql -S /data/3309/mysql.sock -e "show slave status\G;" |grep Running;

 

 

# 实现双主关系建立(10.0.0.51:3308 <--> 10.0.0.52:3308)
mysql -S /data/3308/mysql.sock -e "create user repl@'10.0.0.%'" identified with 
\mysql_native_password by '123';grant replication slave on *.* to repl@10.0.0.%;"  db01上进行
mysql -S /data/3308/mysql.sock -e "create user root@'10.0.0.%'" identified with 
\mysql_native_password by 'root';grant all on *.* to repl@10.0.0.%;"  db01上进行

在db02数据库上进行操作
mysql -S /data/3308/mysql.sock -e "change master to master_host='10.0.0.52',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3308/mysql.sock -e "start slave;"
mysql -S /data/3308 /mysql.sock -e "show slave status\G;" |grep Running;在db02数据库上进行操作
mysql -S /data/3307/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3307/mysql.sock -e "start slave;"
mysql -S /data/3307/mysql.sock -e "show slave status\G;" |grep Running;
# 实现主从建立(10.0.0.51:3307 --> 10.0.0.51:3309)
mysql -S /data/3309/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3309/mysql.sock -e "start slave;"
mysql -S /data/3309/mysql.sock -e "show slave status\G;" |grep Running;
# 实现主从建立(10.0.0.52:3307 --> 10.0.0.52:3309)
mysql -S /data/3309/mysql.sock -e "change master to master_host='10.0.0.51',master_port=3307\
,master_auto_position=1,master_user='repl',master_password='123';"
mysql -S /data/3309/mysql.sock -e "start slave;"
mysql -S /data/3309/mysql.sock -e "show slave status\G;" |grep Running;

 

异常同步错误充值方法

mysql -S /data/3307/mysql.sock -e "stop;reset slave all;"

mysql -S /data/3308/mysql.sock -e "stop;reset slave all;"

mysql -S /data/3309/mysql.sock -e "stop;reset slave all;"

mysql -S /data/3310/mysql.sock -e "stop;reset slave all;"

安装MYCAT软件层序

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922660.shtml

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

相关文章

题解:P14038 [PAIO 2025] Adventure Plan

P14038:差分约束、最短路、负环。第一次给官方比赛投题,来写发题解 /se 子任务 \(1,3,4\) 随便乱做就好了,没啥技术含量。 设 \(x_u\) 表示从 \(0\) 到 \(u\) 路径的长度,那么一条有向边 \(u\stackrel{[l,r]}{\to}…

20231414_王仕琪_密码技术密码杂凑算法学习笔记

20231414_王仕琪_密码技术密码杂凑算法学习笔记

网站备案关闭网站高性能网站开发 书籍

在数字化时代&#xff0c;数据存储的重要性不言而喻。然而&#xff0c;有时候我们会遭遇一些意想不到的困扰&#xff0c;比如存储在D盘的数据突然消失。这不仅可能导致重要文件的丢失&#xff0c;还可能影响我们的工作和生活。本文将探讨D盘数据消失的可能原因&#xff0c;提供…

做一家网站需要多少钱网站建设和app开发

函数是对程序逻辑进行结构化或过程化的一种编程方法。能将整块代码巧妙地隔离成易于管理 的小块&#xff0c;把重复代码放到函数中而不是进行大量的拷贝--这样既能节省空间&#xff0c;也 有助于保持一致性&#xff0c;因为你只需改变单个的拷贝而无须去寻找再修改大量复制代码…

租赁服务器做电影网站网站开发的税率

1、链接测试&#xff1a;a:进入页面后点击链接是否正常跳转 b:单独将链接复制到浏览器里面是否正常展示页面&#xff08;如果需要登录的网站&#xff0c;还需要考虑个人中心等需要登录的功能在未登录成功时以及登录成功后直接通过链接打开的情况&#xff09; 2、菜单测试&#…

做宠物服务的相关网站简单的购物网站设计

转载自 关于Spring底层原理面试的那些问题&#xff0c;你是不是真的懂Spring&#xff1f; 1.什么是 Spring 框架&#xff1f;Spring 框架有哪些主要模块&#xff1f; Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring帮助开发者解…

深圳网站制作服什么是电子商务网站开发

10日&#xff0c;记者从市教育局获悉&#xff0c;我市中招理化生实验操作考试、信息技术考试时间确定&#xff0c;分别在4月1日至23日、4月1日至30日举行。“目前&#xff0c;城市区义务教育学校已完成属地化管理工作。为进一步做好城市区中招工作&#xff0c;提高工作效率&…

调度算法易错概念总结

临界区是指进程中用于访问临界资源的那段代码 临界区时指并发进程访问共享变量段段那段代码 不需要信号量就能实现的功能是进程的并发执行并发进程如果不经过处理是异步的,因此要进行同步互斥锁是用来解决临界区的问题…

响应式网站搭建开发app平台需要多少钱

自动驾驶建图–道路边缘生成方案探讨 一、背景 对于自动驾驶来说&#xff0c;建图是必不可少的&#xff0c;目前主流厂商技术都在从HD到"无图"进行过渡筹备中&#xff0c;不过想要最终实现真正的"无图"还是有很长的一段路要走。 对于建图来说&#xff0c;…

堆设置了8G,java进程却占用了12G内存

简单来说,当你的JVM堆内存(Heap)使用了8GB时,整个Java进程实际占用的物理内存(常被称为RSS - Resident Set Size)会远大于8GB。一个合理的估算是在 10GB 到 12GB 之间,甚至可能更高,具体取决于你的应用特性和J…

Huxe 推出主动式 AI 音频服务,无感内容消费;OpenAI 推出 ChatGPT Pulse:主动提供个性化信息丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 , 每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术」、「有亮点的产品」、「有思考的文章」、「有…

厦门旅游网站建设目的哈尔滨网站设计哪里有做

什么是数据结构&#xff1f;数据结构是什么&#xff1f;要了解数据结构&#xff0c;我们要先明白数据和结构&#xff0c;数据就是一些int char 这样的变量&#xff0c;这些就是数据&#xff0c;如果你是一个篮球爱好者&#xff0c;那么你的球鞋就是你的数据&#xff0c;结构就是…

C++学习:C++类型转换专栏 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站多域名怎么做北京建机职业技能鉴定中心证书查询

1、 你有几次遇到需要解压 .tar 文件但无法记住所需的确切参数&#xff1f;别名可以帮助你&#xff01;只需将以下内容添加到 .bash_profile 中&#xff0c;然后使用 untar FileName 解压缩任何 .tar 文件。 alias untartar -zxvf 2、 下载文件时&#xff0c;如果出现问题想要…

太原网站建设找山西云起时企业宣传片拍摄思路

小弟多次想把调用门和RPL分开单独说&#xff0c;但几次尝试都没有成功&#xff0c;我发现它们之间是紧偶合、密不可分&#xff0c;RPL的产生主要是为解决系统调用时的“越权”问题&#xff0c;系统调用的实现方式中&#xff0c;以调用门和中断门最为适合。由于以后我们将用中断…

网站不能上传附件ps软件下载中文版免费下载

面向对象 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实…

kubelet源码阅读(三)——kubelet调用device plugin的allocate接口

kubernetes-master/pkg/kubelet/cm/devicemanager/endpoint.go 入参:devs是设备ID 响应:AllocateResponse包含了需要注入到容器中的工作件(envs环境变量、mounts挂在信息、devices设备信息、annotations注解信息、c…

建网站做cpa小影wordpress主题

F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话&#xff0c;这意味着“重命名” F3 当你在桌面上的时候是打开“查找&#xff1a;所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRLESC 打开开始菜单 CTRLALTDELETE 在win9x中打开关闭程序对话…

NAFNet (Simple Baselines for Image Restoration) 阅读笔记 - 教程

NAFNet (Simple Baselines for Image Restoration) 阅读笔记 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

有关网站建设的文章京东电子商务网站建设

原理 最小二乘法由勒让德(A.M.Legendre)于1805年在其著作《计算彗星轨道的新方法》中提出,主要思想是最小化误差二次方和寻找数据的最佳匹配函数,利用最小二乘法求解未知参数,使得理论值与观测值之差(即误差,或称为残差)的二次方和达到最小,即: E = ∑ i = 1 n ϵ …