91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mycat讀寫分離以及拆庫拆表綜合實驗2:部署配置mycat讀寫分離與拆庫拆表

發布時間:2020-06-27 01:59:03 來源:網絡 閱讀:677 作者:Mathology 欄目:MySQL數據庫

部署 mycat

mycat基于java運行,檢查java版本

[root@node119 ~]# java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

配置java變量

[root@node119 ~]# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

mycat下載地址

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

大致架構圖
Mycat讀寫分離以及拆庫拆表綜合實驗2:部署配置mycat讀寫分離與拆庫拆表

核心概念

  • schema:由多個數據庫組成的邏輯數據庫
  • datanode:將數據切分后,一個大表被分配到不同的分片數據庫上,每個表分片所在的數據庫就稱為分片節點
  • datahost:一個或者多個分片節點所在的機器就是節點主機

分片節點與節點主機的概念稍微有點不好理解,舉例來說,一張100W的表被分為兩張表,前50W在A主機的數據庫中,后50W在B主機的數據庫中,表所在的數據庫就稱這張表的分片節點;一個主機中不可能只有一張表,會有許多的分片表放在該主機上,該主機就稱為節點主機,即datanode=database@datahost

mycat原理的簡單說明:

攔截--->分析--->轉發--->結果處理--->返回給用戶

mycat分析大致包括:分片分析,路由分析,讀寫分離分析,緩存分析等,在接下來的實驗中會通過分析log來查看mycat如何工作。

需求說明

有一個庫3張表

MySQL [mycat01]> show tables;
+-------------------+
| Tables in mycat01 |
+-------------------+
| t1                |
| t2                |
| t3                |
+-------------------
  • 分庫:

t1在mysql集群中
t2在percona集群中

  • 分表:

t3 id取模1024小于1024的在mysql集群中,大于1024則在percona集群中

  • 讀寫分離:

t1 writehost 為node115
stand by writehost 為node116
readhost 為node117
t2 writehost 為node126
readhost 為node123 node125

配置文件

#這里創建了兩個mycat用戶(注意:與后端mysql用戶無關)root具有讀寫權限,user具有讀權限
[root@node119 ~]# vim /opt/mycat/conf/server.xml

<user name="root" defaultAccount="true">
                <property name="password">123456</property>
                <property name="schemas">mycat01</property>
        </user>

        <user name="user">
                <property name="password">user</property>
                <property name="schemas">mycat01</property>
                <property name="readOnly">true</property>
        </user>

balance="0" 不開啟讀寫分離,即所有讀寫操作都發送到writehost上

balance="1" 全部的readhost與stand by writehost都參與select語句的負載,也就是互為主從模式下

balance="2" 所有讀寫操作在readhost和writehost上隨機分發

balance="3" 所有讀請求都發送到與writehost對應的readhost上,減輕writehost壓力

writeType="0" 所有的寫操作發送到第一個writehost,當第一個writehots down后則切換到第二個,且不會回切


[root@node119 ~]# vim /opt/mycat/conf/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="mycat01" checkSQLschema="false" sqlMaxLimit="100" > #schema name就是映射出去的邏輯庫名稱,也就是訪問mycat用戶看到的名稱
                <table name="t1" primaryKey="id" type="global" dataNode="MySQL" /> #t1所在的分片節點為mysql,也就是說mycat只會從mysql集群中去找t1
                <table name="t2" primaryKey="id" type="global" dataNode="MySQL_galera" /> #通上
                <table name="t3" primaryKey="id" dataNode="MySQL_galera,MySQL" rule="rule1" /> #mycat 會從兩個分片節點去找t3
        </schema>
        <dataNode name="MySQL" dataHost="MySQL_HOST" database="yuyang" />
        <dataNode name="MySQL_galera" dataHost="MySQL_galera" database="yuyang" />
        <dataHost name="MySQL_HOST" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="node115" url="192.168.31.115:3306" user="mycat" password="Mirror-12345">
                        <readHost host="node117" url="192.168.31.117:3306" user="mycat" password="Mirror-12345" />
                </writeHost>
                <writeHost host="node116" url="192.168.31.116:3306" user="mycat" password="Mirror-12345">
                </writeHost>
        </dataHost>
        <dataHost name="MySQL_galera" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="node126" url="192.168.31.126:3306" user="mycat" password="Mirror-12345">
                  <readHost host="node123" url="192.168.31.123:3306" user="mycat" password="Mirror-12345" />
                  <readHost host="node125" url="192.168.31.125:3306" user="mycat" password="Mirror-12345" />
                </writeHost>
[root@node119 ~]# vim /opt/mycat/conf/rule.xml
<function name="func1" class="io.mycat.route.function.PartitionByLong">
                <property name="partitionCount">2</property>
                <property name="partitionLength">512</property>
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善右旗| 汤原县| 乌拉特后旗| 大方县| 正镶白旗| 逊克县| 玉环县| 科技| 正宁县| 彰化县| 兴安盟| 电白县| 红安县| 诏安县| 磐安县| 曲沃县| 平定县| 河北区| 万安县| 麦盖提县| 池州市| 同仁县| 英山县| 牟定县| 达日县| 兰州市| 白山市| 濉溪县| 响水县| 牙克石市| 泊头市| 河曲县| 和田县| 象州县| 新安县| 襄汾县| 广南县| 芜湖县| 绵阳市| 宜都市| 彩票|