文章目录

  • 🚀一、集群
  • 🔎1.集群的概念
  • 🔎2.集群的原理
  • 🔎3.Mycat2环境搭建
  • 🦋3.1 Mycat2下载和安装
  • 🦋3.2 Mycat2配置
  • 🦋3.3 启动mycat
  • 🚀感谢:给读者的一封信



🚀一、集群

🔎1.集群的概念

1、集群历史背景:

随着互联网的迅速发展,数据量的增长和访问量的增加,单一数据库已经不能满足大规模网站的需求。传统的单机数据库在数据量达到一定级别时,系统性能会急剧下降,甚至系统崩溃。为了解决这个问题,数据库集群应运而生。

2、集群作用:

数据库集群是由多个数据库组成的系统,它们通过网络连接进行协作,提供更高的可用性、更好的性能和更强的可扩展性。具体来说,数据库集群有以下作用:

  • 提高系统可用性:通过数据备份、负载均衡、故障转移等技术,确保系统在某个节点故障时能够继续提供服务。
  • 提高系统性能:通过分布式计算和数据存储,实现并行处理,提高系统响应速度和处理能力。
  • 提高系统可扩展性:通过增加节点数量,实现系统的线性扩展,满足数据量和访问量的增长需求。
  • 提高数据安全性:通过数据备份和数据同步技术,确保数据的安全性和完整性。

数据库集群是一种高可用、高性能、高扩展性和高安全性的数据库解决方案,可以满足大规模网站和企业对数据处理的需求。

  • Mycat2是一个开源的MySQL和MariaDB数据库集群解决方案,可以提供高可用性、高性能和可扩展性。它是基于MySQL协议和语法兼容的,支持分布式、读写分离、负载均衡等功能。Mycat2可以在分布式系统中作为数据分片和数据路由的中间件,也可以作为数据层缓存来提高数据库的性能。可以像使用MySQL一样使用Mycat2。对于开发人员来说根本感觉不到Mycat2的存在。Mycat2不单单是支持MySQL,像常用的关系型数据库Oracle、SqlServer都支持。

mysql集群url Mysql集群 资源需求_数据库

🔎2.集群的原理

  • 我们来说个例子,大海捞针和一个水瓶里捞针,毋庸置疑水瓶里一定能更快找到针,因为它需要检索的范围更小。数据库集群也是如此原理,我们可以将一个数据量为300G的数据库数据平均拆分成3部分,每个数据库中只存储100G数据,此时用户搜索,先经过我们中间代理层,中间代理层同时发出3个请求执行查询,比如第1台返回100条数据,耗时3秒,第2台返回200条数据,耗时3秒,第3台返回500条数据,耗时3秒,此时中间件只需要在800条记录中进行筛选,即可检索出用户要的结果,此时耗时其实一共只有3秒,因为每台机器做运算的时候,都是同时执行。如果我们此时直接在300G的数据库查询,耗时10秒,那使用中间件进行集群的效率就非常明显
  • mysql集群url Mysql集群 资源需求_mysql_02

  • Mycat2的实现流程和这个流程大致相似。Mycat2自身不存储数据,但用户每次链接数据库的时候,直接连接Mycat2即可.所以我们Mycat2自身其实就是个逻辑数据库,它自身还有表结构,表结构叫逻辑表。

🔎3.Mycat2环境搭建

🦋3.1 Mycat2下载和安装

  • 官网:http://www.mycat.org.cn/

mysql集群url Mysql集群 资源需求_mysql_03

mycat2运行环境框架:http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip

mycat2 jar包:http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies-2022-3-14.jar

下载好的运行框架解压,把mycat2的jar包放在运行环境框架目录下的lib里

mysql集群url Mysql集群 资源需求_java_04

🦋3.2 Mycat2配置

1、配置datasource.json文件

目录地址:mycat\conf\datasources下prototypeDs.datasource.json

修改以下三项,指向自己真实的物理数据库地址

mysql集群url Mysql集群 资源需求_数据库_05


2、配置user.json

目录地址:mycat\conf\users下root.user.json

修改mycat登录的用户名和地址,注意用户名与文件名一直,如username改成yinlt,文件名就是yinlt.user.json

mysql集群url Mysql集群 资源需求_json_06


其它配置文件:

  • server.json :服务类的配置
  • state.json:服务状态配置
  • users文件夹下:配置mycat2逻辑用户
  • schemas文件夹下:配置mycat2逻辑库
  • clusters文件夹下:集群分发配置
  • schemas文件夹下:配置mycat2逻辑的库

🦋3.3 启动mycat

windows 下直接启动 mycat\bin 目录下的mycat.bat就行

#PowerShell
 
./mycat install
./mycat start
./mycat status
 
 
#CMD
 
mycat install
mycat start
mycat status

mysql集群url Mysql集群 资源需求_mysql_07


mysql集群url Mysql集群 资源需求_mysql集群url_08


默认的mycat的用户: root,密码: 123456, 端口8066

mysql集群url Mysql集群 资源需求_mysql_09


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。