MySQL 中介軟體 Mycat 安裝與使用
阿新 • • 發佈:2019-02-14
環境 Windows (mycat) Linux 虛擬機器(主庫) Linux 虛擬機器(從褲)下載Windows 使用1. 解壓Windows包2. 配置 修改conf下的server.xml(配置mycat使用者名稱)
修改conf下的schema.xml(配置讀寫分離)
引數說明: balance 屬性(負載均衡型別) balance="0", 不開啟讀寫分離機制,所以讀操作都發送到當前可用的writeHost上。 balance="1",全部的readHost與stand by writeHost 參與select語句的負載均衡,簡單的說,當雙主雙從模式(M1->S1,M2->S2,並且M1和M2互為主備),正常情況下,M2,S1,S2 都參 select語句的負載均衡。 balance="2",所有讀操作都隨機的在 writeHost、 readhost 上分發。 balance="3",所有讀請求隨機分發到 wiriterHost 對應的 readhost 執行,writerHost不負擔讀壓力。 其他引數詳情參考官方文件6.6.1章節3. 執行 Windows:直接執行startup_nowrap.bat(有報錯可以檢視log目錄下的日誌)4. 測試驗證 使用navicat連線mycat,埠為8066,使用者名稱密碼為server.xml所配置的。 執行寫操作:insert into test values('jerome2',2);(可在主庫的mysql log看到插入一條資料,從庫日誌可看到同步了這條資料) 執行讀操作:SELECT * FROM test; (可在從庫看到查詢日誌,主庫沒有日誌)
123456789101112 | < system > < property name = "defaultSqlParser" >druidparser</ property > </ system > < user name = "mycat" > < property name = "password" >mycat</ property > < property name = "schemas" >test_schema</ property > </ user > </ mycat:server > |
12345678910111213141516 | < schema name = "test_schema" checkSQLschema = "false" sqlMaxLimit = "100" dataNode = "dn1" ></ schema > < dataNode name = "dn1" dataHost = "testhost" database = "test_mycat" /> < dataHost name = "testhost" maxCon = "1000" minCon = "10" balance = "1" dbType = "mysql" dbDriver = "native" slaveThreshold = "100" > < heartbeat >select user()</ heartbeat > <!-- can have multi write hosts --> < writeHost host = "hostM1" url = "192.168.17.135:3306" user = "root" password = "root" > <!-- can have multi read hosts --> < readHost host = "hostS2" url = "192.168.17.134:3306" user = "root" password = "root" /> </ writeHost > </ dataHost > </ mycat:schema > |