体验MyCat

Mycat是基于开源cobar演变而来,我们对cobar的代码进行了彻底的重构,使用NIO重构了网络模块,并且优化了Buffer内核,增强了聚合,Join等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。

一、安装mycat

MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行

环境准备

  (1) JDK 下载(必须 JDK7 或更高版本)http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

  (2)mysql下载http://dev.mysql.com/downloads/mysql/5.5.html#downloads

    注:MyCAT 支持多种数据库接入,如:MySQL、 SQLServer、 Oracle、 MongoDB 等,推荐使用 MySQL

  (3) MyCAT下载https://github.com/MyCATApache/Mycat-download

    手册https://github.com/MyCATApache/Mycat-Server/wiki

二、配置mycat

1、mycat的配置

  文件全部基于xml文件来完成,位于mycat路径下的conf目录

2、基本配置 

  修改server.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<user name="test"> //配置连接到mycat的用户名及密码等
 
<property name="password">test</property>
 
<property name="schemas">testdb</property> //配置逻辑数据库名
 
</user>
 
<user name="user">
 
<property name="password">user</property>
 
<property name="schemas">testdb</property>
 
<property name="readOnly">true</property> //只读用户
 
</user>

  修改schema.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0"?>
 
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
 
<mycat:schema xmlns:mycat="http://org.opencloudb/">
 
<schema name="testdb" checkSQLschema="false" sqlMaxLimit="100"> //逻辑数据库名及相关配置
 
<!– global table is auto cloned to all defined data nodes ,so can join
 
with any table whose sharding node is in the same data node –>
 
<table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" /> //定义了一张全局表
 
</schema>
 
<dataNode name="dn1" dataHost="192.168.1.204" database="db1" /> //定义分片节点,位于为2台不同的linux主机
 
<dataNode name="dn2" dataHost="192.168.1.143" database="db2" /> //2个不同的主机使用了不同的物理库名
 
//注:也可以在同一个实例上来定义分片,库名不同即可
 
<dataHost name="192.168.1.204" maxCon="1000" minCon="10" balance="0" //定义分片主机相关属性
 
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
 
<heartbeat>select user()</heartbeat>
 
<writeHost host="hostM1" url="192.168.1.204:3306" user="mycat" //连接到物理数据库地址用户名密码等
 
password="pwd">
 
</writeHost>
 
</dataHost>
 
<dataHost name="192.168.1.143" maxCon="1000" minCon="10" balance="0"
 
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
 
<heartbeat>select user()</heartbeat>
 
<writeHost host="hostM1" url="192.168.1.143:3307" user="mycat"
 
password="pwd">
 
</writeHost>
 
</dataHost>
 
</mycat:schema>

三、启动mycat

1、直接运行

mycat.bat console

startup_nowrap.bat

2、装载成服务启动

mycat.bat install

mycat start

四、演示mycat

1、登录

 mycat 有两个端口,8066 数据端口,9066 管理端口

1
mysql -h127.0.0.1 -utest -ptest -P9066 [-dmycat] 

-h 后面是主机,即当前 mycat 按照的主机地址,本地可用 127.0.0.1 远程需要远程 ip

-u Mycat server.xml 中配置的逻辑库用户

-p Mycat server.xml 中配置的逻辑库密码

-P 后面是端口 默认 9066,注意 P 是大写

-d Mycat server.xml 中配置的逻辑库

数据端口与管理端口的配置端口修改:

数据端口默认 8066,管理端口默认 9066 ,如果需要修改需要配置 serve.xml

2、演示

mysql -utest -ptest -P9066 -dtestdb  --登录

show @@help;-- 获取有关管理的相关命令

show @@database; -- 查看逻辑数据库

show @@datanode;--查看分片节点

show @@server;--查看服务器状态

show @@version; --查看版本

还有很多,还有待研究

 

 

   

posted @   慕尘  阅读(185)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示