大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Mycat搭建MySQL集群

Mycat搭建MySQL集群

更新時間:2021-09-17 10:46:36 來源:動力節(jié)點 瀏覽1945次

Mycat

MyCAT為數(shù)據(jù)庫中間件產(chǎn)品,支持mysql集群,提供高可用性數(shù)據(jù)分片集群。

分片

分片簡單來說,就是指通過某種特定的條件,將我們存放在同一個數(shù)據(jù)庫中的數(shù)據(jù)分散存放到多個數(shù)據(jù)庫(主機)上面,以達到分散單臺設(shè)備負載的效果

數(shù)據(jù)的切分(Sharding)根據(jù)其切分規(guī)則的類型,可以分為兩種切分模式。

(1)一種是按照不同的表(或者Schema)來切分到不同的數(shù)據(jù)庫(主機)之上,這種切分可以稱之為數(shù)據(jù)的垂直(縱向)切分

(2)另外一種則是根據(jù)表中的數(shù)據(jù)的邏輯關(guān)系,將同一個表中的數(shù)據(jù)按照某種條件拆分到多臺數(shù)據(jù)庫(主機)上面,這種切分稱之為數(shù)據(jù)的水平(橫向)切分。

安裝Mycat

到官方下載

http://dl.mycat.io/1.6-RELEASE/

選擇windows版的

Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz

解壓下載的壓縮包,就安裝在D:\server\mycat

接下類介紹mycat的使用規(guī)則,為了簡單起見,就從分片使用最多的算法,一致性哈希算法說起

當我們需要將數(shù)據(jù)平均分在幾個分區(qū)中,需要使用一致性hash規(guī)則

查看D:\server\mycat\conf\rule.xml

tableRule的name配置了使用的算法函數(shù),函數(shù)也把它復(fù)制在下面

rule指定對id列進行分片,算法為murmur

    <tableRule name="sharding-by-murmur">
        <rule>
            <columns>id</columns>
            <algorithm>murmur</algorithm>
        </rule>
    </tableRule>
    <function name="murmur"
        class="io.mycat.route.function.PartitionByMurmurHash">
        <property name="seed">0</property><!-- 默認是0 -->
        <property name="count">3</property><!-- 要分片的數(shù)據(jù)庫節(jié)點數(shù)量,必須指定,否則沒法分片 -->
        <property name="virtualBucketTimes">160</property><!-- 一個實際的數(shù)據(jù)庫節(jié)點被映射為這么多虛擬節(jié)點,默認是160倍,也就是虛擬節(jié)點數(shù)是物理節(jié)點數(shù)的160倍 -->
        <!-- <property name="weightMapFile">weightMapFile</property> 節(jié)點的權(quán)重,沒有指定權(quán)重的節(jié)點默認是1。以properties文件的格式填寫,以從0開始到count-1的整數(shù)值也就是節(jié)點索引為key,以節(jié)點權(quán)重值為值。所有權(quán)重值必須是正整數(shù),否則以1代替 -->
        <!-- <property name="bucketMapPath">/etc/mycat/bucketMapPath</property> 
            用于測試時觀察各物理節(jié)點與虛擬節(jié)點的分布情況,如果指定了這個屬性,會把虛擬節(jié)點的murmur hash值與物理節(jié)點的映射按行輸出到這個文件,沒有默認值,如果不指定,就不會輸出任何東西 -->
    </function>

接下來我們就使用該算法進行分片

在D:\server\mycat\conf\schema.xml中,為了清晰起見,把配置信息的意思注釋在配置文件中

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--邏輯數(shù)據(jù)庫TESTDB-->
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
        <!--邏輯數(shù)據(jù)表tb_test--> 
        <!--rule="sharding-by-murmur"  使用隨機拆分 -->
        <table name="tb_test" dataNode="dn1,dn2,dn3"
        rule="sharding-by-murmur" />
    </schema>
    <dataNode name="dn1" dataHost="localhost1" database="db1" />
    <dataNode name="dn2" dataHost="localhost1" database="db2" />
    <dataNode name="dn3" dataHost="localhost1" database="db3" />
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- host="hostM1" 物理數(shù)據(jù)庫 -->
        <writeHost host="hostM1" url="127.0.0.1:3306" user="root"
                   password="123">
        </writeHost>
    </dataHost>
</mycat:schema>

接下來配置中間件

在 D:\server\mycat\conf\server.xml中,配置連接mycat的用戶密碼

我們只需要連接mycat這個邏輯數(shù)據(jù)庫即可,

<!--邏輯數(shù)據(jù)庫的用戶密碼 端口為8066-->
    <user name="root">
        <property name="password">123</property>
        <property name="schemas">TESTDB</property>
    </user>

啟動mycat

在cmdD:\server\mycat\bin\startup_nowrap.bat

出現(xiàn) 如下信息即為啟動成功

接下來使用mysql客戶端連接mycat

首先使用本地數(shù)據(jù)創(chuàng)建db1 db2 db3 三個數(shù)據(jù)庫

創(chuàng)建表和數(shù)據(jù)腳本如下

CREATE TABLE tb_test (
  id BIGINT(20) NOT NULL,
  title VARCHAR(100) NOT NULL ,
  PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8 
INSERT INTO tb_test(ID,TITLE) VALUES(114,'goods1');
INSERT INTO tb_test(ID,TITLE) VALUES(225,'goods2');
INSERT INTO tb_test(ID,TITLE) VALUES(3524,'goods3');
INSERT INTO tb_test(ID,TITLE) VALUES(331,'goods1');
INSERT INTO tb_test(ID,TITLE) VALUES(215,'goods2');
INSERT INTO tb_test(ID,TITLE) VALUES(344,'goods3');
SELECT ID,TITLE FROM tb_test

運行sql腳本后,可以看到

邏輯數(shù)據(jù)庫如下

物理數(shù)據(jù)庫如下

查看db1,db2,db3各個物理數(shù)據(jù)庫的記錄如下

可以看到mycat已經(jīng)幫我們進行了水平拆分,當數(shù)據(jù)量大時,各個數(shù)據(jù)庫的行數(shù)就趨于相等。

想了解更多關(guān)于Mycat的相關(guān)知識,不妨來關(guān)注動力節(jié)點Mycat教程,里面有更多的知識點供大家學(xué)習(xí)參考。在Java視頻教程頁面中也有相關(guān)配套視頻可以免費下載學(xué)習(xí),希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 色综合久久最新中文字幕 | 中文字幕在线免费看 | 久草在线最新 | 国产精品久久久久久久久免费 | 大学生一一级毛片在线播放 | 最新国产精品亚洲二区 | 国内精品影院久久久久 | 国产福利视频一区美女 | 欧美成人免费公开播放 | 久热99这里只有精品视频6 | 四虎影视国产在线观看精品 | 看日本黄色录像 | 香蕉久久国产 | 男人的天堂a在线 | 久久久综合色 | 丝袜亚洲精品中文字幕一区 | 久久中文字幕免费视频 | 亚洲一区二区三区久久 | 99热久久国产综合精品久久国产 | ww欧美| 免费亚洲视频 | 99久久99热久久精品免 | 99久久精品男女性高爱 | 亚洲精品成人中文网 | 露脸超嫩97后在线播放 | 国产精品亚洲欧美 | 婷婷婷色 | 99热精品久久 | 日韩美在线 | 看真人一级毛多毛片 | 日韩亚洲欧美一区 | 国产免费a视频 | 91热在线观看精品 | 精品亚洲一区二区三区在线播放 | 久久久久久国产精品三级 | 国产精品久久久久久久久久久搜索 | 伊人久久大香线焦综合四虎 | 成人免费性视频 | 欧美成人精品第一区二区三区 | 哪里有毛片 | 欧美精品1区2区 |