数据库中间件mycat安装与使用
2024-08-30 02:24:24
1.下载
# wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2.安装
# tar -zxvf ~/Mycat-server-1.6-RELEASE--linux.tar.gz -C /usr/local
3.配置schema.xml
# cd /usr/local/mycat/conf
# vim schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--schema 数据库-->
<schema name="testMyCat" checkSQLschema="false" sqlMaxLimit="100">
<!--table 表名-->
<table name="order" type="global" dataNode="order" />
<table name="orderDetail" type="global" dataNode="orderDetail" />
<table name="commodity" type="global" dataNode="order" />
</schema>
<!---datanode数据节点,database对应各个datahost中的数据库名,datahost用于配置数据库服务器地址->
<dataNode name="order" dataHost="host2" database="jxtest" />
<dataNode name="orderDetail" dataHost="host1" database="usercenter" />
<dataHost name="host1" 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.3.30:3306" user="root" password="Gaia@Works12345^&*()" />
</dataHost>
<dataHost name="host2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="192.168.3.62:4000" user="root" password="" />
</dataHost>
</mycat:schema>
mycat就是把跨库的数据库表,汇集到schema(新库)中,然后就可以join查询了
4.配置server.xml
# vim server.xml #然后找到user节点配置
<user name="root">
<property name="password">123456</property>
<property name="schemas">testMyCat</property>
</user>
<!--user.name登陆用户名,password登录密码,schemas该用户可使用的数据库名,testMayCat对应schema.xml文件中配置的schema-->
5.启动mycat
# cd /usr/local/mycat/bin
# ./mycat start
6.查看mycat状态
# ./mycat status
Mycat-server is running ().
7.使用mysql客户端连接mycat
然后就可以使用mysql语法查询了
8. 两个表的join
/*!mycat:catlet=io.mycat.catlets.ShareJoin */
SELECT
*
FROM t_order t
INNER JOIN order_detail td ON t.orderId = td.orderId
9.三个表的join
/*!mycat:catlet=io.mycat.catlets.ShareJoin */
SELECT
*
FROM t_order t
INNER JOIN order_detail td ON t.orderId = td.orderId
INNER JOIN commodity c ON td.commodityId = c.id
可见,三个表的join,mycat是不支持的
最新文章
- xml dtd 内部dtd 外部DTD 公共DTD
- angularjs的resource实例对象
- XML团队介绍发布!
- 各种数据库连接代码(java)
- C语言中的++和--
- ADO.NET+Access: 1,标准表达式中数据类型不匹配
- 「Foundation」字符串
- Android开机动画启动流程
- Html和Css学习笔记-html进阶-html5属性
- 验证demo
- 发布xxl-job executor dotnet core 执行器的实现
- asp.net core 依赖注入实现全过程粗略剖析(1)
- webpack常用loader和plugin及打包速度优化
- software download
- canvas移动端常用技巧图片loading
- 【Linux 驱动】Netfilter/iptables (八) Netfilter的NAT机制
- sqlite元数据
- 第二类斯特林数(转自http://www.cnblogs.com/gzy-cjoier/p/8426987.html )
- VS2008:Failed to return new Code Element
- Linux Shell常用技巧(十)