linux中安裝Mycat
阿新 • • 發佈:2019-02-10
1,下載
2,解壓
#解壓
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
#移動解壓後的mycat目錄到/usr/locat目錄下
mv ./mycat/ /usr/local/
3,新建使用者和組
groupadd mycat
adduser -r -g mycat mycat
#修改mycat目錄所屬的使用者和組為mycat使用者
chown -R mycat.mycat /usr/local/mycat/
4,修改/usr/local/mycat/conf/schema.xml,URL、使用者名稱、密碼修改,其餘不變
<writeHost host="hostM1" url="192.168.2.200:3306" user="root"
password="123456">
5,啟動Mycat服務
進入/usr/local/mycat/bin(預設資料埠為8066,管理埠為9066)
執行命令 ./mycat start 啟動mycat
6,使用mycat連線mysql
mysql -uroot -p123456 -h192.168.2.200 -P8066 -DTESTDB
知識補充:
1,搞定 schema.xml
Schema.xml 作為 MyCat 中重要的配置檔案之一,管理著 MyCat 的邏輯庫、表、分片規則、
DataNode 以及 DataSource。
Table 標籤定義了 MyCat 中的邏輯表,所有需要拆分的表都需要在這個標籤中定義。
childTable 標籤用於定義 E-R 分片的子表。通過標籤上的屬性與父表進行關聯。
dataNode 標籤定義了 MyCat 中的資料節點,也就是我們通常說所的資料分片。一個 dataNode 標籤就是
一個獨立的資料分片。
作為 Schema.xml 中最後的一個標籤,該標籤在 mycat 邏輯庫中也是作為最底層的標籤存在,直接定義了具
體的資料庫例項、讀寫分離配置和心跳語句。
2,server.xml
server.xml 幾乎儲存了所有 mycat 需要的系統配置資訊。其在程式碼內直接的對映類為 SystemConfig 類。
<user name="test">
<property name="password">test</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
<property name="benchmark">11111</property>
<property name="usingDecrypt">1</property >
<privileges check="false">
<schema name="TESTDB" dml="0010" showTables="custome/mysql">
<table name="tbl_user" dml="0110"></table>
<table name="tbl_dynamic" dml="1111"></table>
</schema>
</privileges>
</user>
server.xml 中的標籤本就不多,這個標籤主要用於定義登入 mycat 的使用者和許可權。例如上面的例子中,
我定義了一個使用者,使用者名稱為 test、密碼也為 test,可訪問的 schema 也只有 TESTDB 一個。
如果我在 schema.xml 中定義了多個 schema,那麼這個使用者是無法訪問其他的 schema。
在 mysql 客戶端看來則是無法使用 use 切換到這個其他的資料庫。