目前MyCat配置Mysql 讀寫分離的文章雖然很多嫂拴,但是看起來比較雜亂,造成很多困擾贮喧,所以自己根據實踐并采用新的Mycat 版本將搭建步驟自始至終重寫一遍筒狠。
在根據本文檔操作前,已假設服務器的環(huán)境已經配置了Mysql 的 主從復制模式箱沦,若沒有配置請參考以下文章
https://www.cnblogs.com/beamzhang/p/5454047.html
1.環(huán)境介紹
操作系統(tǒng): CentOS 7.5
數據庫:MySQL 5.7.23
openjdk version "1.8.0_131"
mycat:1.6.6.1
服務器:
10.138.41.193(Mysql 主)辩恼、 10.138.41.234(Mysql 從)
2.Mycat下載與上傳
- 下載
進入網址 http://www.mycat.io/,下載Mycat 最新版
因為服務器版本是linux 所以選用紅色框標記的版本饱普。
圖片1.png
圖片2.png
- 上傳與解壓
- 將下載下來的mycat上傳到linux指定目錄运挫,這邊我放在了/software目錄下面
- 執(zhí)行如下命令,解壓并移動到/usr/local 目錄下面
解壓命令如下套耕,解壓后會在當前目錄下生成mycat 目錄文件夾
tar -xvzf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
移動命令:
mv mycat /usr/local/
3.安裝JDK與配置環(huán)境變量
安裝JDK的命令這邊不做贅述谁帕,只介紹配置MyCAT的環(huán)境變量
執(zhí)行命令如下:vi /etc/profile
添加如下內容:
export MYCAT_HOME=/usr/local/mycat
并在文件末尾加上如下配置:
export PATH=$MYCAT_HOME/bin:$PATH
如圖:
圖片.png
添加完成后保存并退出
執(zhí)行如下命令使配置文件立馬生效
source /etc/profile
4.修改配置文件server.xml 和scheme.xml
- 修改scheme.xml
默認的scheme.xml 帶有很多演示用的配置,這里我們讀寫分離大部分不需要冯袍!精簡后的配置如下:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 定義虛擬數據庫名稱 -->
<schema name="mycat_mdr" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" >
<!-- 這里配置分庫分表匈挖,因只做讀寫分離所以這里暫不配置 -->
</schema>
<dataNode name="dn1" dataHost="localhost" database="mdr" />
<!-- 上述這里三個參數分別是定義dataNode的別名、數據庫的IP或局域網服務器的別名在hosts中配置康愤、數據庫名 -->
<!-- 將balance設置為3表示開啟讀寫分離 -->
<dataHost name="localhost" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 定時執(zhí)行SQL保持心跳 -->
<heartbeat>select user()</heartbeat>
<!-- 添加寫入庫配置 -->
<writeHost host="hostM1" url="localhost:3306" user="mdr"
password="mdr">
<!-- 添加只讀庫配置-->
<readHost host="hostS1" url="10.138.41.234:3306" user="mdr" password="mdr" />
</writeHost>
</dataHost>
</mycat:schema>
- 修改server.xml
server.xml主要配置兩個用戶儡循,將鼠標移至文件末尾處,配置如下:其中schemas指向schema.xml中配置的名稱征冷!
圖片.png
5.啟動mycat
因為前期配置了mycat的環(huán)境變量择膝,所以啟動命令和停止命令可在任何路徑下執(zhí)行
- 啟動命令
mycat start - 停止命令
mycat stop
6.訪問驗證
經過前面的配置已經產生了兩個用戶 mdr 和mdr_read 密碼與用戶名一致,下面可以用navicat等mysql客戶端進行驗證配置結果检激,mycat端口號為8066肴捉,點擊:測試連接,若出現(xiàn)如圖情況叔收,表示mycat配置完成齿穗。
圖片.png
注意:若連接失敗,表示mycat配置存在問題饺律,需要查看日志解決窃页,日志目錄為logs/wrapper.log,解決后重新驗證
7.項目上使用
如圖:
圖片.png