体验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
<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
<?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 管理端口
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; --查看版本
还有很多,还有待研究