1 . 全局表的作用:可充当数据字典表,这张数据表会在所有的数据库中存在,但对外而言,只是一个逻辑数据库存在的数据表,当对该表进行变更操作时,所有数据库的该表都会发生相应的变化

2 . 在多台MySQL主机上分别建立各自的数据字典表

3 . schema.xml

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
                <table name="dict" primaryKey="did" type="global" dataNode="dn1,dn2"/>
        </schema>
        <schema name="TESTDB1" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"/>
        <schema name="TESTDB2" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2"/>
        <dataNode name="dn1" dataHost="localhost1" database="db1" />
        <dataNode name="dn2" dataHost="localhost2" database="db2" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host1" url="192.168.1.199:3306" user="root" password="123456"/>
        </dataHost>
        <dataHost name="localhost2" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host2" url="192.168.1.166:3306" user="root" password="123456"/>
        </dataHost>
</mycat:schema>

4.server.xml

<property name="schemas">TESTDB1,TESTDB2,TESTDB</property>

5.此时就完成了全局表的配置,此时只要对TESTDB该逻辑数据库进行dict表的更新或插入操作,所有的其他数据库(TESTDB1,TESTDB2)上的dict表都会得到更新


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回