容联技术干货分享:MyCat读写分离应用

本文介绍Mycat数据库中间件的安装配置过程,包括Java环境安装、Mycat解压及配置文件详解,如用户、逻辑库、分片节点和节点主机等配置,并演示了启动验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Mycat安装准备

MyCat是一个的数据库中间件,基于阿里开源的cobar产品而研发,由几个有志之士的牛人共同完成并开源。提供高可用性数据分片集群,自动故障切换,高可用性 ,支持读写分离,支持Mysql双主多从,以及一主多从的模式 ,支持全局表,数据自动分片到多个节点,用于高效表关联查询 ,支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询多平台支持,部署和实施简单

目前结合公司业务需求针对马上消费项目数据的安全,避免不必要的误操作,同时也便于历史操作的追溯特意搭建一套mycat读写分离环境。具体更多学习请查考MyCat官方权威指南。

1.1 安装java

因Mycat是用java开发的,所以需要在实验环境下安装java,官方建议jdk1.7及以上版本 安装完毕检验是否成功

 

1.2安装MyCat

解压MyCAT文件

tar xvf Mycat-server-1.5.1-RELEASE-20161124120459-linux.tar.gz

进入mycat目录看到下面(提示:logs文件下面的mycat.log记录用户所有操作数据库的操作

 

二、配置文件和熟悉概念

2.1 用户 

用户相关配置位于conf/server.xml中,server.xml包含了整个Mycat Server的配置情况,这里只截取针对性的内容来看下

<user name="rw_liudh">

<property name="password">XXXXXXXXXX</property>

<property name="schemas">enterprise,newfs,newfs2,cdr</property>

</user>

上述配置定义了连接Mycat Server的用户名和密码,以及能够访问的schemaschema下面再讲解),如果是只读用户可以加上readOnly属性为true

2.2 逻辑库(schema)

schema的概念和Mysql中的DataBase概念是一样的,这样就容易理解了。其相关配置位于conf/schema.xml中,user标签中的schemas属性指向的就是schema标签的name属性。下面看下schema标签的内容:

<schema name="enterprise" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"> </schema>

schema标签属性

1.nameschema的名称相当于数据库的名称

2.dataNodeschema所在的分片,其实就是物理数据库。

2.3 分片节点(dataNode)

dataNode定义了Mycat中的数据节点,也就是通常说的数据分片,其实就是指向了具体的数据库地址和名称。

dataNode标签和schema同级,依然修改conf/schema.xml

<dataNode name="dn1" dataHost="dn1_host" database="enterprise"  />

dataNode标签属性

1.name:分片名称,全局唯一

2.dataHost:数据库实例地址,对应dataHost标签的name属性(下面讲解)

3.dataBase:对应数据库实例上的具体数据库,要预先建好

2.4 节点主机(dataHost)

dataHost标签定义了具体的数据库实例、读写分离配置和心跳语句。

dataHost标签和schema同级,依然修改conf/schema.xml

<dataHostname="dn1_host"maxCon="1000"minCon="10"balance="0"

writeType="0"dbType="mysql"dbDriver="native"switchType="1">

<heartbeat>select user()</heartbeat>

<writeHosthost="hostM1"url="localhost:3306"user="root"password="123456">  (所有的mycat读写账户都走 mysql的root权限)

<readHost host="hostS1"url="localhost:3306" user="ro_maxiao" password="123456" >(该地方为只读指向地址,user为只读权限用户)

</writeHost>

</dataHost>

dataHost标签属性

1.name:节点主机名称

2.maxCon:指定每个读写实例连接池的最大连接

3.minCon:指定每实例连接池的最小连接,初始化连接池的大小

三、启动mycat验证读写

所有配置完毕后,启动mycat

 

查看运行状态

[yun@10-9-18-18 bin]$ ./mycat status

Mycat-server is running (13957).  (运行正常

验证读写用户

/conf/server.xml文件中 刚开始配置了

<user name="rw_liudh">

<property name="password">XXXXXXXXXX</property>

<property name="schemas">enterprise,newfs,newfs2,cdr</property>

</user>

我们利用工具登陆验证


验证只读用户

/conf/server.xml文件中

<property name="readOnly">true</property>(只读需要添加该语法) 验证

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值