windows下配置mycat與常見問題解決


mycat官網:http://www.mycat.org.cn/

wiki:https://github.com/MyCATApache/Mycat-Server/wiki



MyCat使用Mysql的通訊協議模擬成一個MySQl服務器,並建立了完整的Schema(數據庫)、Table(數據表)、User(用戶)的邏輯模型,並將這套邏輯模型映射到后端的存儲節點DataNode上的真實的物理庫中,這樣一來所有能使用MySQL的客戶端及編程語言都能將Mycat當成MYSQLServer使用,不必開發新的客戶端。



Mycat的原理:當Mycat收到一個客戶端發送的SQL請求,會先對SQL進行語法分析和檢查,分析的結果用SQL路由,SQL路由策略支持傳統的基於表格的分片字段進行分片,也支持獨有的基於數據庫E-R關系的分別片策略,對於路由到多個數據節點(DataNode)的SQL,則會對收到的數據集進行”歸並“,然后輸出到客戶端。



DataNode是MyCat的邏輯數據節點,映射到后端的某一個物理數據庫的一個Datebase,為了做到系統高可用,每個DataNode可以配置多個引用地址(DataSource),當主DataSource被檢測為不可用時,系統會自動切換到下一個可用的DataSource上,這里的DataSoure即可認為是Mysql的主流服務器的地址。



安裝:

1、下載安裝包 https://github.com/MyCATApache/Mycat-download/tree/master/1.5-RELEASE

選擇windows版本。



2、解壓下載的mycat安裝包的知道目錄



3、搭建java環境,下載jdk8(mycat 1.5.1-RELEASE對應的版本呢)並安裝,配置相應的環境變量。



4、修改mycat配置文件:
【1】wrapper.conf 修改wrapper.java.command對應的java jdk對應的目錄,例如:wrapper.java.command=G:\java_jdk\jdk\bin\java.exe
【2】修改server.xml,mycat的基本配置文件,可以配置端口、綁定ip等相關配置,默認配置文件中,是注釋掉,走默認值。這塊主要配置mycat登錄的用戶名和密碼

  1. <user name="root">  
  2.     <property name="password">root</property>  
  3.     <property name="schemas">TESTDB</property>  
  4. </user>  


配置用戶名為root,密碼是root,用戶有權限的邏輯庫TESTDB
【3】修改schema.xml (定義邏輯庫,表、分片節點等內容)
schema對應邏輯庫:TESTDB
table對應邏輯表:t_user
dataNode對應分片
dataHost對應物理庫真實映射
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">  
  3.   
  4.   
  5. <mycat:schema  xmlns:mycat="http://org.opencloudb/">  
  6.   <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">  
  7.       <table name="t_user" dataNode="dn1,dn2" rule="sharding-by-mod2"/>  
  8.       <table name="ht_jy_login_log" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-date_jylog"/>  
  9.   </schema>  
  10.   <dataNode name="dn1" dataHost="localhost1" database="mycat_node1"/>  
  11.   <dataNode name="dn2" dataHost="localhost1" database="mycat_node2"/>  
  12.   
  13.   
  14.   <dataHost name="localhost1" writeType="0" switchType="1" slaveThreshold="100" balance="1" dbType="mysql" maxCon="10" minCon="1" dbDriver="native">  
  15.     <heartbeat>show status like 'wsrep%'</heartbeat>  
  16.     <writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="root" >  
  17.     </writeHost>    
  18.   </dataHost>  
  19. </mycat:schema >  







5、mycat的分片規則下一篇講解



6、啟動mycat。

mycat.bat start 啟動



mycat.bat stop 停止



mycat.bat console 前台運行



mycat.bat install 添加到系統自動啟動(暫未實現)



mycat.bat remove 取消隨系統自動啟動(暫未實現)



mycat.bat restart 重啟服務



mycat.bat pause 暫停



mycat.bat status 查看啟動狀態



7、通過navcat進行鏈接測試:
地址:localhost
端口:8066
賬號:root
密碼:root



8、常見問題:
【1】wrapper  | OpenSCManage failed - 拒絕訪問
解決辦法:cmd以管理員身份運行。
【2】Unsupported major.minor version 51.0
解決辦法:調整本地jdk的版本,試試jdk8.0
【3】Error: Could not create the Java Virtual Machine.
解決辦法:
wrapper.java.additional.10=-Xmx1G
wrapper.java.additional.11=-Xms512M

修改最后一個值的大小,例如:wrapper.java.additional.11=-Xms1G



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM