MyCat安裝步驟說明

一、MyCat的安裝

1、首先需配置java運行環境(略)

2、下載mycat安裝包,或者直接進行下載,網址http://dl.mycat.io/

         wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

3、解壓至home/soft/mycat/文件夾下

         tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

4、配置環境變量

         vim /etc/profile

         並添加

export MYCAT_HOME=/home/soft/mycat/mycat

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYCAT_HOME/bin:$PATH

按Esc,輸入:wq保存退出

刷新環境變量—執行:source /etc/profile

 

5、啓動MyCat

         MyCat相關操作命令:

         mycat start/stop/restart

 

二、MyCat配置相關

1、MyCat根目錄結構

2、MyCat的主要配置文件

schema.xml中定義邏輯庫,表、分片節點等內容;

rule.xml中定義分片規則;

server.xml中定義用戶以及系統相關變量,如端口等

 

3、server.xml內容概述

server.xml是MyCAT對外的“虛擬數據庫”配置文件。所謂的“虛擬數據庫”是說,MyCAT將多個Mysql集羣整合起來對外提供服務,提供服務的接口仍然採用Mysql的形式,因此,通過仿造Mysql接口,讓調用程序以爲自己是在訪問Mysql數據庫,就是所謂的“虛擬數據庫”。

 

表明該虛擬數據庫有一個schema,TESTDB;

有2個用戶test和user,密碼分別是test和user,

user用戶是隻讀的,test用戶未設置只讀;

默認的SQL解析器是druidparser

 

 

 

4、schema.xml內容概述

 

Schema中主要配置 Mycat 數據庫,MySQL表,分片規則,分片類型

第1塊是schema塊,主要描述了虛擬數據庫的schema TESTDB中有哪些表,每個表分佈在哪些數據節點上,分佈的方法採用哪種算法。

例如<table name="travelrecord"

dataNode="dn1,dn2,dn3"rule="auto-sharding-long"/>,表示travelrecord表分佈在dn1,dn2,dn3這3個節點上,分佈的方法採用auto-sharding-long算法。

 

 

 

第2塊是dataNode,表示該數據庫有哪些數據節點,以及這些數據節點實際對應的數據服務器和數據庫名,這裏配置了3個節點dn1,dn2,dn3,都是在localhost1服務器上,數據庫名分別是db1,db2,db3,其實,這也正是前面schema塊中用到的。

第3塊是dataHost,這部分是實際的數據庫服務器配置,這裏配置了2個Mysql數據庫,hostM1和hostS1,地址分別在“localhost:3306”,用戶名都是root,密碼是123456,並且指定了心跳是select user()。

需注意:

balance和 switchType兩個參數:

balance指的負載均衡類型,目前的取值有4種:

balance="0", 不開啓讀寫分離機制,所有讀操作都發送到當前可用的writeHost上。

balance="1",全部的readHost與stand by writeHost參與select語句的負載均衡,

簡單的說,當雙主雙從模式(M1->S1,M2->S2,並且M1與 M2互爲主備),正常情況下,M2,S1,S2都參與select語句的負載均衡。

balance="2",所有讀操作都隨機的在writeHost、readhost上分發。

balance="3",所有讀請求隨機的分發到wiriterHost對應的readhost執行,writerHost不負擔讀壓力

 

switchType指的是切換的模式,目前的取值也有4種:

switchType='-1' 表示不自動切換

switchType='1' 默認值,表示自動切換

switchType='2' 基於MySQL主從同步的狀態決定是否切換,心跳語句爲 show slave status

switchType='3'基於MySQL galary cluster的切換機制(適合集羣)(1.4.1),心跳語句爲 show status like 'wsrep%'。

 

 

5、rule.xml內容概述

 

sharding-by-hour 對應的切分方式(function )是按日期切分。

tableRule中name 爲schema.xml 中table 標籤中對應的rule。

columns 是表的切分字段: createTime 創建日期。

algorithm 是規則對應的切分規則:映射到function 的name

 

 

function 配置是分片規則的配置。

name 爲切分規則的名稱,但是需要與tableRule 中匹配。

class 是切分規則對應的切分類,需要哪種規則則配置哪種,

例如本例子是按小時分片:org.opencloudb.route.function.LatestMonthPartion

property 標籤是切分規則對應的不同屬性,不同的切分規則配置不同。

 

三、安裝中遇到的問題

1、MyCat 默認數據端口是8066

登陸如下:mysql -h127.0.0.1 -utest -ptest –P8066 [-dmycat]

 

2、在配置好數據庫後連接遠程通過Navicat for MySQL連接MyCat提示:

1184-Unknown charsetIndex255

 處理方式:

 找到配置文件夾下:index_to_charset.properties 文件,在文件末尾加上“255=utf8mb4”即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章