<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [toc] ## 了解配置項 Mycat的配置文件都在conf目錄里面,這里介紹幾個常用的文件: | 文件 | 說明 | | --- | --- | | server.xml | Mycat的配置文件,設置賬號、參數等 | | schema.xml | Mycat對應的物理數據庫和數據庫表的配置 | | rule.xml | Mycat分片(分庫分表)規則 | ### **server.xml** 參考鏈接: [MyCat配置文件詳解--server.xml](https://www.cnblogs.com/linjiqin/p/7928573.html) server.xml包含mycat的系統配置信息,它有兩個標簽,分別是user和system,掌握system標簽的各項配置屬性是mycat調優的關鍵。 重點關注下面這段,其他默認即可。 ~~~ <user name="root" defaultAccount="true"> <property name="password">123456</property> <property name="schemas">TESTDB</property> <!-- 表級 DML 權限設置 --> <!-- <privileges check="false"> <schema name="TESTDB" dml="0110" > <table name="tb01" dml="0000"></table> <table name="tb02" dml="1111"></table> </schema> </privileges> --> </user> <user name="user"> <property name="password">user</property> <property name="schemas">TESTDB</property> <property name="readOnly">true</property> </user> ~~~ | 參數 | 說明 | | --- | --- | | user | 用戶配置節點 | | \--name | 登錄的用戶名,也就是連接Mycat的用戶名 | | \--password | 登錄的密碼,也就是連接Mycat的密碼 | | \--schemas | 數據庫名,這里會和schema.xml中的配置關聯,多個用逗號分開,例如需要這個用戶需要管理兩個數據庫db1,db2,則配置db1,dbs | | \--privileges | 配置用戶針對表的增刪改查的權限,具體見文檔吧 | server.xml中的標簽本就不多,這個標簽主要用于定義登錄mycat的用戶和權限。例如上面的例子中,我定義了一個用戶,用戶名為test、密碼也為test,可訪問的schema也只有TESTDB一個 ### **schema.xml** 參考鏈接: [MyCat-schema.xml詳解](https://www.cnblogs.com/icebutterfly/p/9505624.html) Schema.xml作為MyCat中重要的配置文件之一,管理著MyCat的邏輯庫、表、分片規則、DataNode以及DataSource。弄懂這些配置,是正確使用MyCat的前提 ~~~ <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <!-- 數據庫配置,與server.xml中的數據庫對應 --> <schema name="lunch" checkSQLschema="false" sqlMaxLimit="100"> <table name="lunchmenu" dataNode="dn1" /> <table name="restaurant" dataNode="dn1" /> <table name="userlunch" dataNode="dn1" /> <table name="users" dataNode="dn1" /> <table name="dictionary" primaryKey="id" autoIncrement="true" dataNode="dn1,dn2" rule="mod-long" /> </schema> <!-- 分片配置 --> <dataNode name="dn1" dataHost="test1" database="lunch" /> <dataNode name="dn2" dataHost="test2" database="lunch" /> <!-- 物理數據庫配置 --> <dataHost name="test1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native"> <heartbeat>select user();</heartbeat> <writeHost host="hostM1" url="192.168.0.2:3306" user="root" password="123456"> </writeHost> </dataHost> <dataHost name="test2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native"> <heartbeat>select user();</heartbeat> <writeHost host="hostS1" url="192.168.0.3:3306" user="root" password="123456"> </writeHost> </dataHost> </mycat:schema> ~~~ | 參數 | 說明 | | --- | --- | | schema | 數據庫設置,此數據庫為邏輯數據庫,name與server.xml中schema對應 | | dataNode | 分片信息,也就是分庫相關配置 | | dataHost | 物理數據庫,真正存儲數據的數據庫 | 每個節點的屬性逐一說明: **schema** | 屬性 | 說明 | | --- | --- | | name | 邏輯數據庫名,與server.xml中的schema對應 | | checkSQLschema | 數據庫前綴相關設置,建議看文檔,這里暫時設為false | | sqlMaxLimit | select 時默認的limit,避免查詢全表 | **table** | 屬性 | 說明 | | --- | --- | | name | 表名,物理數據庫中表名 | | dataNode | 表存儲到哪些節點,多個節點用逗號分隔。節點為下文dataNode設置的name | | primaryKey | 主鍵字段名,自動生成主鍵時需要設置 | | autoIncrement | 是否自增 | | rule | 分片規則名,具體規則下文rule詳細介紹 | **dataNode** | 屬性 | 說明 | | --- | --- | | name | 節點名,與table中dataNode對應 | | datahost | 物理數據庫名,與datahost中name對應 | | database | 物理數據庫中數據庫名 | **dataHost** | 屬性 | 說明 | | --- | --- | | name | 物理數據庫名,與dataNode中dataHost對應 | | balance | 負載均衡的方式 | | writeType | 寫入方式 | | dbType | 數據庫類型 | | heartbeat | 心跳檢測語句,注意語句結尾的分號要加。 | >[info] 由上可見,配置順序應該是 dataHost→DataNode→schema→user(server.xml) ## 一個簡單的一主一從的配置讀寫分離 ### **1. 參考前面的文章跑起基于GTID多線程主從復制** ``` 主:172.25.0.3 從:172.25.0.4 ``` > 一定要保證主從復制是正常運行的 ### **2. 配置mycat** #### 配置schema ~~~ <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <!-- 定義MyCat的邏輯庫 --> <schema name="m1" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema> <schema name="m2" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn2"></schema> <schema name="m3" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn3"></schema> <!-- 定義MyCat的數據節點 --> <dataNode name="dn1" dataHost="datahost1" database="m1" /> <dataNode name="dn2" dataHost="datahost1" database="m2" /> <dataNode name="dn3" dataHost="datahost1" database="m3" /> <!-- 定義數據主機與讀寫分離及主從切換規則 --> <dataHost name="datahost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100"> <!-- switchType="2" 通過show slave status檢測主從狀態,當主宕機以后,發生切換,從變為主,原來的主變為從,這時候show slave status就會發生錯誤,因為原來的主沒有開啟slave,不建議直接使用switch操作,而是在DB中做主從對調。 --> <heartbeat>show slave status</heartbeat> <writeHost host="hostM1" url="mysql_master:3306" user="root" password="123456"> <readHost host="hostS1" url="mysql_slave:3306" user="root" password="123456" /> </writeHost> </dataHost> </mycat:schema> ~~~ #### 配置server system標簽暫時保持不變 ~~~ <!-- 用戶1,對應的MyCat邏輯庫連接到的數據節點對應的主機為主從復制集群,并通過MyCat實現了讀寫分離 --> <user name="user1"> <property name="password">123456</property> <property name="schemas">m1,m2,m3</property> </user> <!-- 用戶2,只讀權限--> <user name="user2"> <property name="password">123456</property> <property name="schemas">m1,m2,m3</property> <property name="readOnly">true</property> </user> ~~~ **3. 測試** ``` # 在mycat上執行 SELECT *,SLEEP(5) FROM `m1`.`table` UPDATE `table` SET `title` = SLEEP(5) WHERE `id` = 1; # 在主和從查看 SHOW PROCESSLIST; ``` ## 參考鏈接 - [Mycat配置入門](https://github.com/MyCATApache/Mycat-Server/wiki/3.0-Mycat%E9%85%8D%E7%BD%AE%E5%85%A5%E9%97%A8)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看