使用淘宝中间件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目录,新建并运行查看目录结构如下:
view plaincopy
[*]# tree /opt/cobar-server
[*]/opt/software/cobar-server
[*]├── bin
[*]│ ├── restart.sh
[*]│ ├── shutdown.sh
[*]│ ├── startup.bat
[*]│ └── startup.sh
[*]├── conf
[*]│ ├── log4j.xml #日志配置文件,不需要修改
[*]│ ├── rule.xml #mysql路由规则
[*]│ ├── schema.xml #
[*]│ └── server.xml #
[*]├── lib
[*]│ ├── cobar-server-1.2.7.jar
[*]│ └── log4j-1.2.17.jar
[*]└── logs
[*] ├── alarm.log
[*] ├── console.log
[*] ├── heartbeat.log
[*] ├── stdout.log
[*] └── stdout.log.2014-07-10
1.主要修改以下几个文件:rule.xml
view plaincopy
[*]<!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->
[*]<tableRule name="rule1">
[*] <rule>
[*] <columns>id</columns>
[*] <algorithm><!]></algorithm>
[*] </rule>
[*]</tableRule>
[*]
[*]<!-- 路由函数定义 -->
[*]<function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">
[*] <property name="partitionCount">2</property>
[*] <property name="partitionLength">512</property>
[*]</function>
2.schema.xml ,定义数据节点
view plaincopy
[*]<cobar:schema xmlns:cobar="http://cobar.alibaba.com/">
[*]
[*] <!-- schema定义 -->
[*] <schema name="cppdb" dataNode="cppDb1">
[*] <table name="tb2" dataNode="cppDb2,cppDb3" rule="rule1" />
[*] </schema>
[*]
[*] <!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->
[*] <dataNode name="cppDb1">
[*] <property name="dataSource">
[*] <dataSourceRef>cppDataSource</dataSourceRef>
[*] </property>
[*] </dataNode>
[*] <dataNode name="cppDb2">
[*] <property name="dataSource">
[*] <dataSourceRef>cppDataSource</dataSourceRef>
[*] </property>
[*] </dataNode>
[*] <dataNode name="cppDb3">
[*] <property name="dataSource">
[*] <dataSourceRef>cppDataSource</dataSourceRef>
[*] </property>
[*] </dataNode>
[*]
[*] <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
[*] <dataSource name="cppDataSource" type="mysql">
[*] <property name="location">
[*] <location>172.22.14.7:3306/cpp1</location>
[*] <location>172.22.14.7:3306/cpp2</location>
[*] <location>172.22.14.7:3306/cpp3</location>
[*] </property>
[*] <property name="user">root</property>
[*] <property name="password">root</property>
[*] <property name="sqlMode">STRICT_TRANS_TABLES</property>
[*] </dataSource>
[*]
[*]</cobar:schema>
3.server.xml,定义cobar对外统一的数据接口。
<!-- 用户访问定义,用户名、密码、schema等信息。 -->
view plaincopy
[*]<user name="root">
[*]<property name="password">root</property>
[*]<property name="schemas">cppdb</property>
[*]t;/user>
cobar升级版:mycat,提供了大连的文档,以及源码。
http://code.taobao.org/svn/openclouddb/
转自:http://blog.csdn.net/huoyunshen88/article/details/37927553 linux下:wget https://codeload.github.com/alibaba/cobar/zip/master
F:\mycat>mvn compile
F:\mycat>mvn package
请教下,没看明白
页:
[1]