经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
mycat安装与使用
来源:cnblogs  作者:零点客车  时间:2018/9/30 11:49:28  对本文有异议

1.下载

  1. # wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2.安装

  1. # tar -zxvf ~/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local

3.配置schema.xml

  1. # cd /usr/local/mycat/conf
  2. # vim schema.xml
  1. <?xml version="1.0"?>
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
  3. <mycat:schema xmlns:mycat="http://io.mycat/">
    <!--schema 数据库-->
  4. <schema name="testMyCat" checkSQLschema="false" sqlMaxLimit="100">
    <!--table 表名-->
  5. <table name="order" type="global" dataNode="order" />
  6. <table name="orderDetail" type="global" dataNode="orderDetail" />
  7. <table name="commodity" type="global" dataNode="order" />
  8. </schema>
    <!---datanode数据节点,database对应各个datahost中的数据库名,datahost用于配置数据库服务器地址->
  9. <dataNode name="order" dataHost="host2" database="jxtest" />
  10. <dataNode name="orderDetail" dataHost="host1" database="usercenter" />
  11. <dataHost name="host1" maxCon="1000" minCon="10" balance="0"
  12. writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  13. <heartbeat>select user()</heartbeat>
  14. <writeHost host="hostM1" url="192.168.3.30:3306" user="root" password="Gaia@Works12345^&amp;*()" />
  15. </dataHost>
  16. <dataHost name="host2" maxCon="1000" minCon="10" balance="0"
  17. writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  18. <heartbeat>select user()</heartbeat>
  19. <writeHost host="hostM2" url="192.168.3.62:4000" user="root" password="" />
  20. </dataHost>
  21. </mycat:schema>

mycat就是把跨库的数据库表,汇集到schema(新库)中,然后就可以join查询了

4.配置server.xml

  1. # vim server.xml #然后找到user节点配置
  1. <user name="root">
  2. <property name="password">123456</property>
  3. <property name="schemas">testMyCat</property>
  4. </user>
    <!--user.name登陆用户名,password登录密码,schemas该用户可使用的数据库名,testMayCat对应schema.xml文件中配置的schema-->

5.启动mycat

  1. # cd /usr/local/mycat/bin
  2. # ./mycat start

6.查看mycat状态

  1. # ./mycat status
  2. Mycat-server is running (29287).

7.使用mysql客户端连接mycat

然后就可以使用mysql语法查询了

8. 两个表的join

  1. /*!mycat:catlet=io.mycat.catlets.ShareJoin */
  2. SELECT
  3. *
  4. FROM t_order t
  5. INNER JOIN order_detail td ON t.orderId = td.orderId

9.三个表的join

  1. /*!mycat:catlet=io.mycat.catlets.ShareJoin */
  2. SELECT
  3. *
  4. FROM t_order t
  5. INNER JOIN order_detail td ON t.orderId = td.orderId
  6. INNER JOIN commodity c ON td.commodityId = c.id

可见,三个表的join,mycat是不支持的

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号