使用淘宝中间件cobar实现mysql分库分表

cobar 编译安装配置笔记
https://github.com/alibaba/cobar
windows下使用eclipse导入cobar项目,eclipse File -> Import -> Git 
https://github.com/alibaba/cobar

linux下:wget https://codeload.github.com/alibaba/cobar/zip/master
F:\mycat>mvn compile
F:\mycat>mvn package

生成压缩包cobar-server-1.2.7.tar.gz,放到linux环境中解压出来,没有logs目录,新建并运行查看目录结构如下:
[html]  view plain copy
  1. [root@XAYQ-Test3 ~]# tree /opt/cobar-server  
  2. /opt/software/cobar-server  
  3. ├── bin  
  4. │   ├── restart.sh  
  5. │   ├── shutdown.sh  
  6. │   ├── startup.bat  
  7. │   └── startup.sh  
  8. ├── conf  
  9. │   ├── log4j.xml                       #日志配置文件,不需要修改  
  10. │   ├── rule.xml                        #mysql路由规则  
  11. │   ├── schema.xml                      #  
  12. │   └── server.xml                      #  
  13. ├── lib  
  14. │   ├── cobar-server-1.2.7.jar  
  15. │   └── log4j-1.2.17.jar  
  16. └── logs  
  17.     ├── alarm.log  
  18.     ├── console.log  
  19.     ├── heartbeat.log  
  20.     ├── stdout.log  
  21.     └── stdout.log.2014-07-10  
    
1.主要修改以下几个文件:rule.xml 
[html]  view plain copy
  1.   
  2. <tableRule name="rule1">  
  3.   <rule>  
  4.     <columns>idcolumns>  
  5.     <algorithm>algorithm>  
  6.   rule>  
  7. tableRule>  
  8.   
  9.   
  10. <function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">  
  11.   <property name="partitionCount">2property>  
  12.   <property name="partitionLength">512property>  
  13. function>  
  
2.schema.xml ,定义数据节点
[html]  view plain copy
  1. <cobar:schema xmlns:cobar="http://cobar.alibaba.com/">  
  2.   
  3.     
  4.   <schema name="cppdb" dataNode="cppDb1">  
  5.     <table name="tb2" dataNode="cppDb2,cppDb3" rule="rule1" />  
  6.   schema>  
  7.   
  8.     
  9.   <dataNode name="cppDb1">  
  10.     <property name="dataSource">  
  11.       <dataSourceRef>cppDataSource[0]dataSourceRef>  
  12.     property>  
  13.   dataNode>  
  14.   <dataNode name="cppDb2">  
  15.     <property name="dataSource">  
  16.       <dataSourceRef>cppDataSource[1]dataSourceRef>  
  17.     property>  
  18.   dataNode>  
  19.   <dataNode name="cppDb3">  
  20.     <property name="dataSource">  
  21.       <dataSourceRef>cppDataSource[2]dataSourceRef>  
  22.     property>  
  23.   dataNode>  
  24.   
  25.     
  26.   <dataSource name="cppDataSource" type="mysql">  
  27.     <property name="location">  
  28.       <location>172.22.14.7:3306/cpp1location>  
  29.       <location>172.22.14.7:3306/cpp2location>  
  30.       <location>172.22.14.7:3306/cpp3location>  
  31.     property>  
  32.     <property name="user">rootproperty>  
  33.     <property name="password">rootproperty>  
  34.     <property name="sqlMode">STRICT_TRANS_TABLESproperty>  
  35.   dataSource>  
  36.   
  37. cobar:schema>  

3.server.xml,定义cobar对外统一的数据接口。

 
[html]  view plain copy
  1. <user name="root">  
  2. <property name="password">rootproperty>  
  3. <property name="schemas">cppdbproperty>  
  4. t;/user>  



cobar升级版:mycat,提供了大连的文档,以及源码。
http://code.taobao.org/svn/openclouddb/

你可能感兴趣的:(db)