MyCat 部署讀寫分離-分庫,未分表

MySQL主從複製不在敘述,如下是 mycat 的部署過程:
從GitHub上下載mycat ,此本版是:Mycat-server-1.6.7.5
1· 解壓 下載好的 tar 包:node

tar -xf Mycat-server-1.6.7.5-release-20200422133810-linux.tar.gz

cd mycat

cp schema.xml schema.xml.bak

cp server.xml server.xml.bak

vim schema.xml //編輯配置文件,指定數據庫、讀寫分離參數

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">;mysql

<schema name="adshield" checkSQLschema="false" sqlMaxLimit="100" dataNode="node1"/>
<schema name="adshield_res_video" checkSQLschema="false" sqlMaxLimit="100" dataNode="node2"/>
<schema name="database1" checkSQLschema="false" sqlMaxLimit="100" dataNode="node3"/>
<schema name="konga" checkSQLschema="false" sqlMaxLimit="100" dataNode="node4"/>
<schema name="nacos" checkSQLschema="false" sqlMaxLimit="100" dataNode="node5"/>
<schema name="oauth2" checkSQLschema="false" sqlMaxLimit="100" dataNode="node6"/>
<schema name="videodata" checkSQLschema="false" sqlMaxLimit="100" dataNode="node7"/>
<schema name="videodata_dev" checkSQLschema="false" sqlMaxLimit="100" dataNode="node8"/> //dataNode 這裏的值須要和下面的值對應
<schema name="viip_qa" checkSQLschema="false" sqlMaxLimit="100" dataNode="node9"/>
<schema name="test-lyh" checkSQLschema="false" sqlMaxLimit="100" dataNode="node10"/> // schema name 是mycat 的邏輯名稱,配置時最好和真實庫是同樣的,這樣更直觀。
<dataNode name="node1" dataHost="192.168.64.12" database="adshield"/> // dataNode name 是你真實數據庫的名稱
<dataNode name="node2" dataHost="192.168.64.12" database="adshield_res_video"/>
<dataNode name="node3" dataHost="192.168.64.12" database="database1"/>
<dataNode name="node4" dataHost="192.168.64.12" database="konga"/>
<dataNode name="node5" dataHost="192.168.64.12" database="nacos"/>
<dataNode name="node6" dataHost="192.168.64.12" database="oauth2"/>
<dataNode name="node7" dataHost="192.168.64.12" database="videodata"/>
<dataNode name="node8" dataHost="192.168.64.12" database="videodata_dev"/>
<dataNode name="node9" dataHost="192.168.64.12" database="viip_qa"/>
<dataNode name="node10" dataHost="192.168.64.12" database="test-lyh"/>linux

<dataHost name="192.168.64.12" maxCon="1000" minCon="50" balance="1" writeType="1" dbType="mysql" dbDriver="native" switchType="0" slaveThreshold="100"> // balance 值爲 1 表示讀寫分離 還能夠表示 0、一、二、3 具體參考官網解釋
<heartbeat>select user()</heartbeat>
<writeHost host="192.168.64.12" url="192.168.64.12:3326" user="test" password="test123">
<readHost host="192.168.64.14" url="192.168.64.14:3306" user="test" password="test123"/> //指定主、從的地址、用戶、密碼
</writeHost>
</dataHost>sql

</mycat:schema>數據庫

vim server.xml //修改mycat 用戶等配置 ,配置文件太長,貼出修改部分

<user name="root" defaultAccount="true"> //鏈接mycat的用戶名
<property name="password">City@#$123</property> //鏈接mycat的密碼
<property name="schemas">adshield,adshield_order,adshield_taxi,mysql,nacos,pb_cms_base,performance_schema,sys,test2,information_schema</property> //mycat 須要鏈接的庫,這裏須要和上個配置文件<schema.xml> 中 schema name 的值相對應。下面參數的配置都同樣。
<property name="defaultSchema">adshield,adshield_order,adshield_taxi,mysql,nacos,pb_cms_base,performance_schema,sys,test2,information_schema</property>vim

cd /usr/local/mycat

mkdir logs

chmod 777 logs

vim /etc/profile //配置環境變量

export MYCAT_HOME=/usr/local/mycat
export PATH=$MYCAT_HOME/bin:$PATHide

source /etc/profile

mycat start // 啓動時會產生日誌,能夠觀看日誌是否啓動成功

MyCAT Server startup successfully. see logs in logs/mycat.log 日誌產出 說明啓動成功url

因公司需求,須要將主庫和mycat 的端口互換,這樣能夠避免程序再次修改鏈接數據庫的操做,因此若是有需求,請修改如下配置文件:日誌

vim server.xml

<property name="serverPort">3306</property> <property name="managerPort">9066</property> //須要將他取消註釋,修改端口,重啓mycatorm

相關文章
相關標籤/搜索