![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mycat
文章平均质量分 91
技术闲聊DD
代码改变生活,程序改变世界!
展开
-
Mycat学习(7)--- Mycat实现分库分表(垂直)
一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:其实本质就是微服务架构的一部分。下面来分析下垂直切分的优缺点优点:拆分后业务清晰,拆分规则明确;系统之间整合或扩展容易;数据维护简单。缺点:部分业务表无法 join,只能通过接口方式解决,提高了系统复杂度;受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高;事务处理复杂。1 配置server.xml指定主原创 2021-04-27 16:11:20 · 432 阅读 · 0 评论 -
Mycat学习(6)--- Mycat实现分库分表(水平)
1 水平拆分思路当表中数据量特别大的时候,就要考虑到表数据的水平拆分。水平拆分也就是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。拆分数据就需要定义分片规则,几种典型的分片规则包括:按照用户 ID 求模,将数据分散到不同的数据库,具有相同数据用户的数据都被分散到一个库中;按照日期,将不同月甚至日的数据分散到不同的库中;按照某个特定的字段求摸,或者根据特定范围段分散到不同的库中。优点:拆分规则抽象好,join 操作基本可以数据库做;不存在单库大数据,高并发的性能瓶颈;原创 2021-04-25 19:16:25 · 306 阅读 · 0 评论 -
Mycat学习(5)--- Mycat实现真正的高可用(双主双从)
上一篇讲了Mycat实现读写分离和主从复制的基本配置(一主一从),但是在生产上,一主一从往往无法满足高可用的要求。所以这里我演示一下双主双从的配置。1 准备工作我准备了四个数据库2 设计思路部署4个数据库服务,其中3308和3310相互为主从,3309为3308的slave,3311为3310的slave。3 Mysql主从配置参考上一篇文章配置数据库 具体配置如下:3.1 3308主库配置#配置主机IDserver_id=2#开启binlog日志log_bin=mysql-bin原创 2021-04-25 14:54:59 · 667 阅读 · 0 评论 -
Mycat学习(3)---Mycat配置文件详解
1 server.xml配置文件server.xml配置文件包含了mycat的系统配置信息,对应的源码使systemconfig.jar。它有两个重要的标签,分别是user和system,system标签的各属性时mycat调优的关键。1.1 user标签user标签主要用于定义登录mycat的用户和权限。如上面定义用户名和密码均为user,该用户可以访问的schema只有TESTDB。可以直接修改对应的属性值来修改密码,如果需要同时访问多个schema,则多个schema之间使用英文逗号隔开。&原创 2021-04-20 10:14:02 · 932 阅读 · 0 评论 -
Mycat学习(2)---Mycat安装
1 下载下载Mycat安装包路径注意:mycat依赖java,因此首先需要安装java环境。2 解压tar –zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz –C /usr/local这个是我之前安装的:conf目录下存放的配置文件,server.xmlMycat服务器参数调整和用户授权的配置文件。schema.xml是逻辑库定义和表以及分片定义的配置文件,rule.xml是分片规则的配置文件,分原创 2021-04-18 12:46:24 · 519 阅读 · 0 评论 -
Mycat学习(1)---Mycat介绍
1 Mycat概念Mycat是一个开源数据库中间件,是一个实现了MySQL协议的数据库中间件服务器,我们可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问Mycat,而Mycat使用MySQL原生(Native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,包括SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。一般地,Mycat主要用于代理MySQL原创 2021-04-17 20:39:20 · 268 阅读 · 0 评论