• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Mycat教程
    Mycat讀寫分離
    Mycat分庫分表
    Mycat全局序列號

    Mycat配置文件schema.xml

     

     

    修改之前備份schema.xml

     

     

     

    配置schema

     

    1、作用

     

    schema用于配置邏輯庫。

     

    2、 配置說明

     

    只做讀寫分離,不做分庫分表,Mycat只是幫我們轉發一下請求,讀轉發到從庫,寫轉發到主庫,則schema標簽里面不用配置table。

     

    給schema標簽加上屬性dataNode,配置dataNode的名字(name)。

     

    3、最終配置如下

     

    <schema name="mycatdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"/>

     

     

    配置dataNode

     

    1、 作用

     

    dataNode定義了Mycat中的數據節點,也就是我們通常說所的數據分片,一個dataNode標簽就是一個獨立的數據分片,通俗理解,一個分片就是一個物理數據庫

     

    2、 配置說明

     

    ● name

     

    定義數據節點的名字,這個名字需要是唯一的,這個名字在schema里面會使用到;

     

    ● dataHost

     

    用于定義該分片屬于哪個數據庫實例的,屬性值是引用dataHost標簽上定義的name屬性。

     

    ● database

     

    用于對應真實的數據庫名,必須是真實存在的;

     

    3、最終配置如下

     

    <dataNode name="dn1" dataHost="localhost1" database="test" />

     

     

    配置dataHost

     

    1、作用

     

    定義具體的數據庫實例、讀寫分離配置和心跳語句;

     

    2、配置說明

     

    ● 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不負擔讀壓力。

     

    推薦balance設置為1

     

    ● writeType

     

    已過時,1.6版本就不用了。

     

    ● switchType屬性

     

    用于指定主服務器發生故障后的切換類型。

     

    -1 表示不自動切換

     

    ①默認值,自動切換(推薦)

     

    ②基于MySQL主從同步的狀態決定是否切換

     

    ③基于MySQL galary cluster的切換機制(適合集群)(1.4.1)

     

    通常情況下,我們MySQL采用雙主雙從的模式下,switchType為1即可。因為雙主從模式下,主從同步關系很復雜,不能根據MySQL的狀態來切換。只需要在一個主出問題后,切換到另外的主。

     

    ● heartbeat標簽

     

    用于和后端數據庫進行心跳檢查的語句,檢測MySQL數據庫是否正常運行。

     

    當switchType為1時,mysql心跳檢查語句是select user()。

     

    當switchType為2時,mysql心跳檢查語句是show slave status。

     

    當switchType為3時,mysql心跳檢查語句是show status like 'wsrep%'。

     

    ● writeHost與readHost標簽

     

    這兩個標簽都指定后端數據庫的相關配置給mycat,用于實例化后端連接池。唯一不同的是,writeHost指定寫實例、readHost指定讀實例,組合這些讀寫實例來滿足系統的要求。

     

    在一個dataHost內可以定義多個writeHost和readHost。但是,如果writeHost指定的后端數據庫宕機,那么這個writeHost綁定的所有readHost都將不可用。另一方面,由于這個writeHost宕機系統會自動的檢測到,并切換到備用的writeHost上去。

     

    3、推薦配置

     

    switchType設置為1,表示自動切換主從。

     

    heartbeat語句為 select user()。

     

    balance一般設置為1即可。

     

    一主兩從配置示例:

     

     

    雙主雙從配置示例:

     

     

     

    完整配置信息(雙主雙從)

     

    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
    <!--只做讀寫分離,不做分庫分表,Mycat只是幫我們轉發一下請求,讀轉發到從庫,寫轉發到主庫,則schema標簽里面不用配置table-->
    <schema name="mycatdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"/>
    <!--配置真實存在的物理數據庫-->
    <dataNode name="dn1" dataHost="localhost1" database="test" />
    
    <dataHost name="localhost1"
              maxCon="1000"
              minCon="10"
              balance="1"
              writeType="0"
              dbType="mysql"
              dbDriver="native"
              switchType="1"
              slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostM3307" url="localhost:3307" user="root" password="123456">
            <readHost host="hostS3308" url="localhost:3308" user="root" password="123456" />
            <readHost host="hostS3309" url="localhost:3309" user="root" password="123456" />
        </writeHost>
        <writeHost host="hostM3308" url="localhost:3308" user="root" password="123456">
            <readHost host="hostS3307" url="localhost:3307" user="root" password="123456" />
            <readHost host="hostS3310" url="localhost:3310" user="root" password="123456" />
        </writeHost>
    </dataHost>
    </mycat:schema>
    
    
    
    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏