前篇:Linux CentOS7系統建置MySQL資料庫主從同步

按照前篇完成MySQL集群後

如果正式使用,就需要逐一對不同功能配置的Master主機一一獨立配置,造成管理上的困擾

MyCAT是一個統整MySQL集群的工具

作為使用者與MySQL複數主機間的橋樑,基本可以讓整個集群當作一個MySQL伺服器使用

只要在MyCAT中設置好規則即可,相當方便

 

一.設置環境

首先update、upgeade更新系統,以下安裝包皆置於 /opt/ 資料夾

主機名 IP Port
MyCAT 192.168.1.24 8066

另外,MyCAT是用JAVA建立的,主機需配置JAVA環境

這裡MyCAT採用的版本是1.6.7.1

 

二.在MySQL建立MyCAT使用的帳戶

MyCAT對MySQL的控制,是需要給予擁有權限的帳戶

已經完成MySQL主從配置後,只要在Master主機建立帳戶即可,Slave主機會同步建立

mysql> create  user  'mycat'@'192.168.1.24'  identified  with  mysql_native_password  by  'Mycat.123456';

mysql> grant  all  privileges  on  *.*  'mycat'@'192.168.1.24';

 

三.搭建MyCAT伺服器

# wget  https://dl.mycat.io/1.6.7.1-release-20190627191042-linux.tar.gz

解壓縮後,編輯/etc/profile

# vi  /etc/profile

在JAVA環境配置中新增

export  MYCAT_HOME=/opt/mycat

export  PATH=$MYCAT_HOME/bin:$PATH

存檔退出

啟動測試

# /opt/mycat/bin/mycat  start

可使用已下指令檢查是否啟動成功

# /opt/mycat/bin/mycat  status

# jps

 

四.MyCAT文件配置

在/opt/mycat/conf下,主要會使用到三個配置文件

server.xml、rule.xml、schema.xml

以下會介紹主要使用到的片段

1.server.xml

用於面對外部連線的配置檔案,IP白名單、使用者帳戶以及用戶可使用的庫、權限,都是在這裡統一設定

防火牆白名單,經由允許連接的IP對應可用的使用者進行限制

如果不需要的話整段註解即可

使用<user>標籤建立使用者,依下為

password 為密碼

schemas 為該使用者可用的邏輯庫,複數以逗號區隔

readOnly 為設置該用戶僅讀取權限

截圖中間註解的部分,則為邏輯庫、邏輯表的個別新增、讀取、更新、刪除權限,以0和1表示關閉/開啟

2.rule.xml

分庫的規則,主要需要注意的是分庫的數量

預設值為2,需依照分庫實際數量設置

3.schema.xml

配置邏輯庫、邏輯表,對應真實資料庫數據

主要有三區塊<schema>、<dataNode>、<dataHost>

 

<schema>標籤用於建立邏輯庫,name即為在MyCat中會看到的資料庫名稱

注意sqlMaxLimit參數,使用select語句時如果沒有設置查詢列數,會自動加入

其下包含<table>標籤建立邏輯表

參數包含邏輯表名name、資料庫節點dataNode、分庫規則rule

邏輯表名可以自訂,與實際資料表名不同沒有關係,資料庫節點節點則需對應<dataHost>設置的名稱

需要注意資料庫節點若有複數,就需要配置分庫規則,如果只有使用到單一節點就不需要設置規則

 

<dataNode>標籤用於配置資料庫節點

參數包含節點名稱name、實體主機dataHost、實體資料庫database

節點名稱一樣可以自訂,實體主機對應<dataHost>設置的名稱,實體資料庫則是在對應主機中真實存在的資料庫

 

<dataHost>標籤用於實體主機的讀寫配置,以及設定登入帳戶

主要包含三個標籤,<heartbest>、<writeHost>、<readHost>

<heartbest>是確認主機是否存活的方式,這裡是用select user()指令

<writeHost>是寫入主機,其下包含<readHost>讀取主機,這樣分隔即可做到讀寫分離

如果沒包含<readHost>的話,便是讀寫都在同一主機

 

五.啟動並使用MyCAT

關於MyCAT的操作指令,都於mycat的bin資料夾下,可以使用以下指令啟動、停止、重啟

# mycat/bin/mycat  start   # mycat/bin/mycat  start   # mycat/bin/mycat  restart

使用以下指令查詢是否啟動成功

# mycat/bin/mycat  status

 

接著使用有安裝MySQL的設備,輸入以下指令登入MyCAT

# mysql  -ucat  -p  -h192.168.1.24  -P8066  --default-auth=mysql_native_password

--default-auth=mysql_native_password

是採用MySQL舊版密碼格式,如果此MySQL設備是8.0版本以上,登入MyCAT會一直出現密碼錯誤

arrow
arrow
    全站熱搜

    CokaTien 發表在 痞客邦 留言(0) 人氣()