MyCat配置MySql读写分离-WIN环境
2021/10/19 19:14:28
本文主要是介绍MyCat配置MySql读写分离-WIN环境,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一:关于MyCat
什么是MyCat:
1:一个彻底开源,面向企业应用开发的大数据库集群。
2:支持事务,ACID,可以替代MySql的加强版数据库。
3:一个可以视为MySql集群的企业级数据库,用来代替昂贵的Oracle集群。
4:一个融合内存缓存技术,NoSql技术,HDFS大数据的新型SQL Server。
5:结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品。
6:一个新颖的数据库中间件产品。
MyCat能做什么,有什么用途:
1:分库分表,把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。
2:读写分离,线性的提升数据库的读心梗,消除读写锁冲突从而提升数据库的写性能。
MyCat官方链接:
GiHub:https://github.com/MyCATApache/Mycat-Server
官网:http://www.mycat.io/
下载地址:https://github.com/MyCATApache/Mycat-download
本文使用版本:Mycat-server-1.6.7.1-release
个人链接(如果下载不便可以自提1.6.7版本):MyCat-server-1.6.7.1-release下载地址 (访问密码:5458)
二:使用教程
前提注意事项:MyCat不负责任何数据同步问题,因此需要提前配置好MySql的主从复制数据自动同步功能。可以参考之前的文章进行配置:
MYSQL一个设备上的主从复制实现-windows
MYSQL一个设备上的主从复制实现(GTID版)-windows
MyCat三个主要配置文件:
rule.xml:表示分片规则。
schema.xml:是最主要的配置项,可配置物理数据库连接与分片等。
server.xml:可配置连接用户名与密码等。
1:在 server.xml 添加用户
在 mycat:server 标签下配置用户名和密码(自定义),使用客户端连接 MyCat 的时候会用到,就如同 MySql 的连接用户名和密码。
(system标签里的东西不用动,其他的保留一个user标签配置好就可以)。
name:连接时的用户名称。
password:连接密码。
schemas:schemas.xml 配置文件中 schema 标签对应的配置,同时也是数据库名称。
2:配置 schema.xml
schema 标签:
name:数据库名称。
checkSQLschema:数据库前缀设置,如果为true,select * from testDB.company会变为 select * from company 这种格式,会去掉testDB数据库前缀。
sqlMaxLimit:默认查询数量。
dataNode:对应dataNode标签的 name。
dataNode 标签:
name:自定义。
dataHost:对应dataHost 标签的 name。
database:数据库名。
dataHost 标签:
name:自定义。
maxCon:指定每个读写实例连接池的最大连接数。
minCon:指定每个读写实例连接池的最小连接数。
balance:
balance="0":不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
balance="1":全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡。
balance="2":所有读操作都随机的在 writeHost、readHost 上分发。
balance="3":所有读请求随机的分发到 wiriterHost 对应的 readHost 执行,writerHost 不负担读压力,balance="3"只有1.4版本及以后版本有。
writeType:
writeType="0":所有的写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个 writeHost,重新启动后以切换后的为准,切换记录在“dnindex.proerties”配置文件中。
writeType="1":所有写操作都随机的发送到配置的 writeHost。
writeHost 标签:配置接收写操作的数据库服务信息,示例为主服务器3307。
readHost 标签:配置接收读操作的数据库服务信息,示例为从服务器3308。
3:MyCat启动
点击 bin 目录下的 mycat.bat,安装 mycat 服务。
如果没有安装上,使用管理员命令窗口进入该目录执行一下命令:
mycat.bat install
启动服务,默认端口8066。
4:使用 MySql 客户端连接 MyCat ,并写入数据
示例使用的是 Navicat。
用户名和密码是在 server.xml 中配置的数据。
此时打开表查询到的就是配置的从数据库3308里的数据,
可以往从数据库3308的test表中加一条数据,
然后在mycat数据库中查看是否有变化(测试过记得删除,保证从主服务数据一致)。
在MyCat连接中执行一个插入数据语句。
查看主数据库3307库中的test表:
查看从数据库3308库中的test表:
额外注意:主节点(写库)宕机时,读节点也不能读。
这篇关于MyCat配置MySql读写分离-WIN环境的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南