mycat之schema.xml理解
<?xml version=\"1.0\"?> <!DOCTYPE mycat:schema SYSTEM \"schema.dtd\"> <mycat:schema xmlns:mycat=\"http://org.opencloudb/\"> <schema name=\"mycat\" checkSQLschema=\"false\" sqlMaxLimit=\"100\"> <!-- auto sharding by id (long) --> <table name=\"students\" dataNode=\"dn1,dn2,dn3,dn4\" rule=\"rule1\" /> <table name=\"log_test\" dataNode=\"dn1,dn2,dn3,dn4\" rule=\"rule2\" /> <!-- 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=\"company\" primaryKey=\"ID\" type=\"global\" dataNode=\"dn1,dn2,dn3\" /> <table name=\"goods\" primaryKey=\"ID\" type=\"global\" dataNode=\"dn1,dn2\" /> --> <table name=\"item_test\" primaryKey=\"ID\" type=\"global\" dataNode=\"dn1,dn2,dn3,dn4\" /> <!-- random sharding using mod sharind rule --> <!-- <table name=\"hotnews\" primaryKey=\"ID\" dataNode=\"dn1,dn2,dn3\" rule=\"mod-long\" /> --> <!-- <table name=\"worker\" primaryKey=\"ID\" dataNode=\"jdbc_dn1,jdbc_dn2,jdbc_dn3\" rule=\"mod-long\" /> --> <!-- <table name=\"employee\" primaryKey=\"ID\" dataNode=\"dn1,dn2\" rule=\"sharding-by-intfile\" /> <table name=\"customer\" primaryKey=\"ID\" dataNode=\"dn1,dn2\" rule=\"sharding-by-intfile\"> <childTable name=\"orders\" primaryKey=\"ID\" joinKey=\"customer_id\" parentKey=\"id\"> <childTable name=\"order_items\" joinKey=\"order_id\" parentKey=\"id\" /> <ildTable> <childTable name=\"customer_addr\" primaryKey=\"ID\" joinKey=\"customer_id\" parentKey=\"id\" /> --> </schema> <!-- <dataNode name=\"dn\" dataHost=\"localhost\" database=\"test\" /> --> <dataNode name=\"dn1\" dataHost=\"localhost\" database=\"test1\" /> <dataNode name=\"dn2\" dataHost=\"localhost\" database=\"test2\" /> <dataNode name=\"dn3\" dataHost=\"localhost\" database=\"test3\" /> <dataNode name=\"dn4\" dataHost=\"localhost\" database=\"test4\" /> <!-- <dataNode name=\"jdbc_dn1\" dataHost=\"jdbchost\" database=\"db1\" /> <dataNode name=\"jdbc_dn2\" dataHost=\"jdbchost\" database=\"db2\" /> <dataNode name=\"jdbc_dn3\" dataHost=\"jdbchost\" database=\"db3\" /> --> <dataHost name=\"localhost\" maxCon=\"100\" minCon=\"10\" balance=\"1\" writeType=\"1\" dbType=\"mysql\" dbDriver=\"native\"> <heartbeat>select user()<beat> <!-- can have multi write hosts --> <writeHost host=\"localhost\" url=\"localhost:3306\" user=\"root\" password=\"wangwenan\"> <!-- can have multi read hosts --> <readHost host=\"hostS1\" url=\"localhost:3307\" user=\"root\" password=\"wangwenan\"/> </writeHost> <writeHost host=\"localhost1\" url=\"localhost:3308\" user=\"root\" password=\"wangwenan\"> <!-- can have multi read hosts --> <readHost host=\"hostS11\" url=\"localhost:3309\" user=\"root\" password=\"wangwenan\"/> </writeHost> </dataHost> <!-- <writeHost host=\"hostM2\" url=\"localhost:3316\" user=\"root\" password=\"123456\"/> --> <!-- <dataHost name=\"jdbchost\" maxCon=\"1000\" minCon=\"1\" balance=\"0\" writeType=\"0\" dbType=\"mongodb\" dbDriver=\"jdbc\"> <heartbeat>select user()<beat> <writeHost host=\"hostM\" url=\"mongodb://192.168.0.99/test\" user=\"admin\" password=\"123456\" ></writeHost> </dataHost> --> <!-- <dataHost name=\"jdbchost\" maxCon=\"1000\" minCon=\"10\" balance=\"0\" dbType=\"mysql\" dbDriver=\"jdbc\"> <heartbeat>select user()<beat> <writeHost host=\"hostM1\" url=\"jdbc:mysql://localhost:3306\" user=\"root\" password=\"123456\"> </writeHost> </dataHost> --> </mycat:schema>
参考:这几篇文章还是写的不错,都是一个系列的
http://blog.itpub.net/29510932/viewspace-1664499/ 基础讲解
http://blog.itpub.net/29510932/viewspace-1667814/ 配置文件schema.xml讲解
http://blog.itpub.net/29510932/viewspace-1678591/ 分表规则