Mycat -概述mysql
下載地址: http://dl.mycat.io/sql
下載tree可展現目錄樹形結構mongodb
yum -y install tree tree /usr/local/mycat
設置MYCAT_HOME的變量vim
vim /etc/profile
使/etc/profile文件生效生效 <!$ 指代上次操做過的路徑>session
source !$
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="testMyCat" checkSQLschema="false" sqlMaxLimit="100"> <!-- auto sharding by id (long) --> <table name="t_test_mycat1" primaryKey="ID" type="global" dataNode="dn1,dn2"/> <table name="t_test_mycat2" primaryKey="ID" dataNode="dn1,dn2" rule="auto-sharding-long"> <childTable name="mycat2_order" primaryKey="ID" autoIncrement="true" joinKey="account_id" parentKey="id"> <childTable name="mycat2_order_items" joinKey="order_id" parentKey="id"/> </childTable> </table> <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate" /> --> </schema> <dataNode name="dn1" dataHost="test" database="testMycat1"/> <dataNode name="dn2" dataHost="test" database="testMycat2"/> <dataHost name="test" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <!-- can have multi write hosts --> <writeHost host="hostM1" url="172.30.1.51:3306" user="h2finance" password="h2finance"> <!-- can have multi read hosts --> <readHost host="hostS1" url="172.30.1.52:3306" user="h2finance" password="h2finance"/> </writeHost> <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> --> </dataHost> <!-- <dataHost name="sequoiadb1" maxCon="1000" minCon="1" balance="0" dbType="sequoiadb" dbDriver="jdbc"> <heartbeat></heartbeat> <writeHost host="hostM1" url="sequoiadb://1426587161.dbaas.sequoialab.net:11920/SAMPLE" user="jifeng" password="jifeng"/> </dataHost> <dataHost name="oracle1" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="oracle" dbDriver="jdbc"> <heartbeat>select 1 from dual</heartbeat> <connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql> <writeHost host="hostM1" url="jdbc:oracle:thin:@127.0.0.1:1521:nange" user="base" password="123456"></writeHost> </dataHost> <dataHost name="jdbchost" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="mongodb" dbDriver="jdbc"> <heartbeat>select user()</heartbeat> <writeHost host="hostM" url="mongodb://192.168.0.99/test" user="admin" password="123456"/> </dataHost> <dataHost name="sparksql" maxCon="1000" minCon="1" balance="0" dbType="spark" dbDriver="jdbc"> <heartbeat></heartbeat> <writeHost host="hostM1" url="jdbc:hive2://feng01:10000" user="jifeng" password="jifeng"/> </dataHost> <dataHost name="jdbchost" maxCon="1000" minCon="10" balance="0" dbType="mysql" dbDriver="jdbc"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="jdbc:mysql://localhost:3306" user="root" password="123456"></writeHost> </dataHost> --> </mycat:schema>
解決oracle
設置的dataNode 與 rule.xml中對應的function配置文件中的partition配置衝突。app
上例中dataNode配了2個,則在配置文件autopartition-long.txt中修改:url
開啓實時統計,便於後期安裝mycat-eye的監測spa
使得生效.net
解決
配置用戶的schema的權限
realmycat
即便真實mysql庫中沒有表,也會有視圖,可是點擊報錯。
mycat 與配置的實際IP心跳依次循環檢測鏈接(schema.xml中<dataHost>下的<heartbeat>)。當datebase或table不全或不存在時報錯。
cat logs/mycat.log cat logs/wrapper.log
都沒有,Error; 部分缺失: WARN。都無法提供服務!因此: 各庫的表結構須要一致。