1. 程式人生 > >linux中安裝Mycat

linux中安裝Mycat

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 切換到這個其他的資料庫。