一、mycat配置全局表
在mycat配置的過程中,我們需要創建全局表。全局表是對應於實際表的表結構,用來定義一張表的結構和使用規則,這樣做的好處是可以靈活地控制每一張表的許可權控制,同時也可以減輕實際表的壓力。
在mycat配置的過程中,我們需要在global.xml文件中進行配置。
<?xml version="1.0"?>
<!DOCTYPE mycat:config SYSTEM "schema/mycat-config.dtd">
<mycat:config xmlns:mycat="http://io.mycat/2015/01/config">
<!--配置全局表-->
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1,dn2">
<table name="t_order" primaryKey="id" dataNode="dn1,dn2">
<childTable name="t_order_item" joinKey="order_id" primaryKey="id" dataNode="dn1,dn2"/>
</table>
</schema>
</mycat:config>
二、mybatis配置log
mycat支持mybatis,我們可以在mybatis中配置log。在配置log時,我們可以選擇控制輸出的級別,同時還可以控制輸出的方式:在控制台、文件、日誌平台等。
我們需要在mybatis配置文件中增加一個log對象即可:
<settings>
<!--配置mybatis日誌-->
<setting name="logImpl" value="LOG4J"/>
</settings>
三、mycat配置文件
在mycat配置文件中,我們需要配置資料庫地址、用戶名、密碼等信息。默認的配置文件為mycat.yml。
以下是一個樣例配置文件:
system:
user: root
password: 123456
# 集群名稱
cluster:
name: mycat-cluster
heartbeat: true
# 集群節點列表
nodes:
- ip: 192.168.1.100
- ip: 192.168.1.101
# 資料庫地址列表
dataHosts:
- name: dn1
hm1: 192.168.1.100:3306
hm2: 192.168.1.101:3306
maxCon: 200 #最大連接數
minCon: 10 #最小連接數
balance: 0 #負載平衡
switchType: 2 #切換模式
mysql:
user: root
password: 123456
usePool: true
四、idle配置tomcat
在mycat中同樣可以配置tomcat,下面我們來介紹如何在mycat中配置tomcat:
我們需要在server.xml中增加一段元數據:
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
<Context path="/cat" docBase="cat.war" reloadable="true"/>
</Host>
</Engine>
五、mycat配置詳解
在mycat配置文件中,我們可以設置一些全局變數:
- backSocketPoolSize:後端socket連接池大小
- confHome:配置文件目錄
- dataDir:數據文件目錄
- idType:ID類型
- proxyPort:代理埠
- proxyBufferCapacity:代理緩衝區大小
- proxyIdleTimeout:代理連接空閑超時時間
- sequnceHandlerType:序列處理類型
- userDatagramProtocolServerPort:UDP服務埠
以下是一個樣例配置:
#代理埠
proxyPort: 8066
#配置目錄
confHome: /usr/local/mycat/conf
#數據目錄
dataDir: /usr/local/mycat/data
#後端socket連接池大小
backSocketPoolSize: 50
#ID類型
idType: 1
#代理緩衝區大小
proxyBufferCapacity: 204800
#代理連接空閑超時時間
proxyIdleTimeout: 1800000
#序列處理類型
sequnceHandlerType: 1
#UDP服務埠
userDatagramProtocolServerPort: 8067
六、mycat配置一個節點
我們可以使用以下命令在mycat中創建一個節點:
CREATE NODE db1
ADDRESS 192.168.1.101
PORT 3306
CHECKED false
SSL_MODE disabled
WEIGHT 1
TYPE READ_WRITE_SPLIT
DB_TYPE mysql
COMMENTS 'mysql1';
七、mycat配置文件詳解
在mycat配置文件中,我們可以配置以下內容:
- dataHosts:數據節點配置
- dataHostsCache:數據節點緩存策略配置
- databaseTypes:資料庫類型配置
- dataNodes:數據節點配置
- dataHostGroups:數據節點分組配置
- schemaMappings:Schema配置
- userMappings:用戶許可權配置
以下是一個樣例配置:
#數據節點配置
dataHosts:
#MySQL伺服器地址配置
- address: 192.168.1.100
port: 3306
user: root
password: 123456
name: dn1
minConn: 10
maxConn: 100
balance: 1
writeType: 0
- address: 192.168.1.101
port: 3306
user: root
password: 123456
name: dn2
minConn: 10
maxConn: 100
balance: 1
writeType: 0
#數據節點分組配置
dataHostGroups:
#主從分離策略配置
- name: master_slave
#主節點地址
master:
name: dn1
#從節點地址
slave:
- name: dn2
#讀寫分離策略配置
balance:
type: 0
read: dn1,dn2
write: dn1
八、mycat配置與啟動
我們可以使用以下命令來啟動mycat:
./bin/mycat start
./bin/mycat stop
九、mycat配置oracle
在mycat配置文件中,我們同樣可以配置oracle資料庫:
schemaName: oracledb
backendType : oracle
dataHosts :
- address : 192.168.1.101
port : 1521
user : test
password : test
name : db-1
十、Mycat配置特別複雜
如果你的Mycat配置非常複雜,你可以使用mycat-sever-xxxx-cluster.jar控制mycat的啟動和停止,使用mycat-sever-xxxx-console.jar進行監控、查詢等相關操作。
使用mycat-sever-xxxx-cluster.jar啟動和停止mycat:
java -cp mycat-sever-xxxx-cluster.jar org.opencloudb.mycat.server.MycatStartup start
java -cp mycat-sever-xxxx-cluster.jar org.opencloudb.mycat.server.MycatShutdown
使用mycat-sever-xxxx-console.jar進行監控、查詢等操作:
java -cp mycat-sever-xxxx-console.jar org.opencloudb.mycat.console.ConsoleClient -h 192.168.1.101 -P 9066 -u test -p test
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276185.html