mycat資料庫簡單方式:單一資料庫
配置文件:schema.xml
================================================================================
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--虛擬資料庫-->
<schema name="xhdds" checkSQLschema="false" sqlMaxLimit="100" dataNode="hddsRef"></schema>
Advertisements
<dataNode name="hddsRef" dataHost="connectionDataBase" database="hdds" />
<dataHost name="connectionDataBase" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select 1 from dual</heartbeat>
<writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="123456">
Advertisements
</writeHost>
</dataHost>
</mycat:schema>
================================================================================
文檔解釋:
1、邏輯資料庫配置
<schema name="xhdds" checkSQLschema="false" sqlMaxLimit="100" dataNode="hddsRef"></schema>
schema 標籤屬性說明:
1、name 邏輯數據名稱
2、checkSQLschema 查詢語句是否添加 xhdds資料庫名稱查詢
false表示:select * from user
true表示:select * from xhdds.user
3、sqlMaxLimit 查詢sql返回的結果記錄數量限制,sql中存在limit則此屬性不起作用,如果沒有limit屬性則默認添加指定的條數
4、dataNode 引用數據定義的虛擬名稱,默認當前資料庫中所有表都可以顯示查看操作
2、實體資料庫與資料庫地址映射
<dataNode name="hddsRef" dataHost="connectionDataBase" database="hdds" />
dataNode 標籤屬性說明:
1、name 資料庫別名,也就是虛擬名稱和schema 標籤中dataNode保持一致
2、dataHost 資料庫連接屬性引用名稱類似spring中的實例對象
3、dataNode 具體實際數據名稱,name是給此屬性重新起一個別名
3、配置資料庫連接及屬性
<dataHost name="connectionDataBase" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select 1 from dual</heartbeat>
<writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="123456">
</writeHost>
</dataHost>
dataHost 標籤屬性說明
1、name 連接具體數據地址別名,此欄位與dataNode 中dataHost保持一致
2、maxCon 最大連接可連接此數據的connection數量
3、minCon 最小連接可連接此數據的connection數量
4、balance 負載均衡類型,目前的取值有3種:
1. balance=「0」, 所有讀操作都發送到當前可用的writeHost上。
2. balance=「1」,所有讀操作都隨機的發送到readHost。
3. balance=「2」,所有讀操作都隨機的在writeHost、readhost上分發
5、writeType負載均衡類型,目前的取值有3種:
1. writeType=「0」, 所有寫操作都發送到可用的writeHost上。
2. writeType=「1」,所有寫操作都隨機的發送到readHost。
3. writeType=「2」,所有寫操作都隨機的在writeHost、readhost分上發
6、dbType 資料庫的類型,可以是mysql , oracle等其他資料庫
7、dbDriver 驅動類型
1、native是以二進位的mysql協議傳輸
2、jdbc 是採用我們傳統方式配置
8、heartbeat 標籤保持心跳查詢語句
9、writeHost 可寫標籤配置,此標籤很重要,
1、host 別名,暫時沒有用處,但是必須要寫,一般情況是寫都已*M1,讀*S1開頭
2、url 配置數據的ip和埠
3、user,password 連接資料庫的用戶名和密碼
配置邏輯庫賬戶信息:server.xml
<user name="root">
<property name="password">123456</property>
<property name="schemas">xhdds</property>
</user>
1、user 資料庫登錄名
2、password資料庫登錄密碼
3、schemas 虛擬資料庫名稱,此屬性與schema 標籤中name名稱保持一致