体验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; --查看版本
还有很多,还有待研究
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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)