欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mycat讀寫分離簡單分庫

一,環(huán)境配置

實驗用的是center7 jdk1.8(center7自帶默認jdk,沒jdk的需要安裝)
192.168.0.19(mycat)
192.168.0.14(master主)
192.168.0.13(slave從)
1.先去官網(wǎng)下載mycat
http://www.mycat.io/
mycat 讀寫分離 簡單分庫
2.把下載的mycat文件解壓到 /usr/local/
3.配置環(huán)境
把MySQL的主從配置好,這里就不說明了,配置好創(chuàng)建一個名為k1的庫,建好了去從庫上驗證一下。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供資中網(wǎng)站建設、資中做網(wǎng)站、資中網(wǎng)站設計、資中網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、資中企業(yè)網(wǎng)站模板建站服務,十年資中做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

二,配置讀寫分離

1.vim /usr/local/mycat/conf/server.xml ##配置mycat的賬號及權(quán)限
<user name="root" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">k1</property>
</user>
#表示創(chuàng)建個root賬號,密碼123456,授權(quán)k1(mycat的邏輯庫)的完全權(quán)限
2.vim /usr/local/mycat/conf/schema.xml ##配置mycat的邏輯庫

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="k1" checkSQLschema="false" sqlMaxLimit="100" dataNode="fenpian1">
        </schema>
        <!--name邏輯庫 dataNode分片組(可以有多個,用于對庫做垂直切分),這里沒有做切片,所以直接把k1的所有表直接全
分到fenpian1這個分片組-->
<dataNode name="fenpian1" dataHost="shitizu" database="k1" />
<!--定義分片組fenpian1 是由那個真實服務器組那個真實庫提供的-->
    <dataHost name="shitizu" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    <!--定義真實服務器組及策略-->
        <heartbeat>show slave status</heartbeat>
        <writeHost host="192.168.0.14" url="192.168.0.14:3306" user="root" password="123456">
        <!--真實組的寫入庫-->
             <readHost host="192.168.0.13" url="192.168.0.13:3306" user="root" password="123456">
             <!--真實組的讀庫-->
             </readHost>
        </writeHost>
    </dataHost>

</mycat:schema>

3.啟動mycat 并測試
/usr/local/mycat/bin/mycat start

三.分片數(shù)據(jù)庫(基于表分)

1.在增加一個數(shù)據(jù)庫192.168.0.16,
在數(shù)據(jù)庫里創(chuàng)建k1庫,b2表,配置修改如下


<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="k1" checkSQLschema="false" sqlMaxLimit="100" >
        <table name="b1" primaryKey="id"  dataNode="fenpian1" />
        <!--已知邏輯k1庫里有b1,b2兩張表,基于表做切分,b1分給fenpian1,b2給fenpan2-->
        <table name="b2" primaryKey="id" dataNode="fenpian2"  />
<dataNode name="fenpian1" dataHost="shitizu" database="k1" />
<!--定義分片組fenpian1 是由那個真實服務器組那個真實庫提供的-->
<dataNode name="fenpian2" dataHost="shitizu2" database="k1" />
<!--定義分片組fenpian2 是由真實服務器組shitizu2,的k1實體庫提供-->
    <!--定義真實服務器組及策略-->
        <heartbeat>select user()</heartbeat>
        <writeHost host="192.168.0.14" url="192.168.0.14:3306" user="root" password="123456">
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="k1" checkSQLschema="false" sqlMaxLimit="100" >
        <table name="b1" primaryKey="id"  dataNode="fenpian1" />
        <!--已知邏輯k1庫里有b1,b2兩張表,基于表做切分,b1分給fenpian1,b2給fenpan2-->
        <table name="b2" primaryKey="id" dataNode="fenpian2"  />
        </schema>
<dataNode name="fenpian1" dataHost="shitizu" database="k1" />
<!--定義分片組fenpian1 是由那個真實服務器組那個真實庫提供的-->
<dataNode name="fenpian2" dataHost="shitizu2" database="k1" />
<!--定義分片組fenpian2 是由真實服務器組shitizu2,的k1實體庫提供-->
    <!--定義真實服務器組及策略-->
        <heartbeat>select user()</heartbeat>
        <writeHost host="192.168.0.14" url="192.168.0.14:3306" user="root" password="123456">
        <!--真實組的寫入庫-->
             <readHost host="192.168.0.13" url="192.168.0.13:3306" user="root" password="123456">
             <!--真實組的讀庫-->
             </readHost>
        </writeHost>
    </dataHost>

  <dataHost name="shitizu2" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    <!--定義真實服務器組及策略-->
        <heartbeat>select user()</heartbeat>
        <writeHost host="192.168.0.16" url="192.168.0.16:3306" user="root" password="123456">
        <!--真實組的寫入庫-->
             <readHost host="192.168.0.16" url="192.168.0.16:3306" user="root" password="123456">
             <!--真實組的讀庫-->
             </readHost>
        </writeHost>
    </dataHost>

</mycat:schema>

結(jié)構(gòu)圖
mycat 讀寫分離 簡單分庫
用戶請求過來到達mycat,mycat根據(jù)以上配置判斷,如果是fenpian1分片組就轉(zhuǎn)發(fā)給真實服務器組shitizu1處理,讀交于slave處理,寫交于master處理。如果是fenpian2分片組,就轉(zhuǎn)發(fā)給真實服務器組shitizu2來處理,讀寫都交于192.168.0.16處理。
這樣前端查詢k1這個邏輯庫得時候,能獲取的b1,b2兩個表的完整數(shù)據(jù),但其實每個真實數(shù)據(jù)庫組,只存儲了只一張表,完整的數(shù)據(jù)是由mycat讀取后端的兩個真實服務器組組織起來的。

本文名稱:mycat讀寫分離簡單分庫
URL鏈接:http://chinadenli.net/article22/jpsejc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機移動網(wǎng)站建設用戶體驗外貿(mào)建站網(wǎng)站制作企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作