posts - 297,  comments - 1618,  trackbacks - 0

          關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng)MyCAT(2)

          ——高級功能和管理監(jiān)控

          日期:2014/12/24

          文:阿蜜果

          1、   高級功能

          1.1 分片策略

          MyCAT通過定義表的分片規(guī)則來實(shí)現(xiàn)分片,每個(gè)表格可以捆綁一個(gè)分片規(guī)則,每個(gè)分片規(guī)則指定一個(gè)分片字段并綁定一個(gè)函數(shù),來實(shí)現(xiàn)動態(tài)分片算法。

          1.1.1 分片規(guī)則

          以常用的基于整數(shù)映射的分片函數(shù)org.MyCAT.route.function.PartitionByFileMap為例,此函數(shù)通過一個(gè)配置文件來確定映射關(guān)系,以下面的sharding-by-intfile這個(gè)分片規(guī)則為例:

          <tableRule name="sharding-by-intfile">
              
          <rule>
                
          <columns>sharding_id</columns>
                
          <algorithm>hash-int</algorithm>
              
          </rule>
          </tableRule>

          <function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
              
          <property name="mapFile">partition-hash-int.txt</property>
          </function>

          conf目錄下的partition-hash-int.txt文件的默認(rèn)內(nèi)容如下所示:

          10000=0
          10010=1

          表明當(dāng)字段user_id取值為10000的時(shí)候,返回分片節(jié)點(diǎn)ID0,以此類推。

          Schema.xml中定義customer表的分片規(guī)則為此規(guī)則:

          <table name="t_user"  dataNode=" user0,user1,user2,user3" rule="sharding-by-intfile" />

          于是t_user按照字段user_id進(jìn)行水平分片,分片存儲在四個(gè)數(shù)據(jù)節(jié)點(diǎn)user1、user2user3user4上。

          使用MySQL客戶端連接mycattest_mycat數(shù)據(jù)庫,分別運(yùn)行如下插入語句:

          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES ('10000''廣州市越秀區(qū)廣州大道中599號''2014-12-25 16:00:00''GD');
          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES ('10010''廣州市越秀區(qū)廣州大道中599號''2014-12-25 16:00:00''GD');
          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES ('10011''廣州市越秀區(qū)廣州大道中599號''2014-12-25 16:00:00''GD');

          連接localhostuser0 user3四個(gè)數(shù)據(jù)庫,查看t_user表的數(shù)據(jù)后可得知user_id1000010010的記錄分別進(jìn)入user0user1數(shù)據(jù)庫,最后一條運(yùn)行記錄因?yàn)楦鶕?jù)partition-hash-int.txt的配置無法確定寫入那個(gè)數(shù)據(jù)庫節(jié)點(diǎn),因?yàn)閳?bào)錯(cuò):

          [Err] 1003 - can't find datanode for sharding column:USER_ID val:10011

          如何知道某個(gè)SQL在哪個(gè)分片上執(zhí)行? explain sql語句:

          explain select * from t_user where user_id=10000 or user_id=10010;

          MySQL客戶端運(yùn)行,結(jié)果如下圖所示:

                   運(yùn)行如下explain sql語句:

          explain select * from t_user;

                   MySQL客戶端運(yùn)行,結(jié)果如下圖所示:

          根據(jù)業(yè)務(wù)場景和數(shù)據(jù)特點(diǎn),可以選用以下的分片規(guī)則:

          auto-sharding-long 主鍵自動增長的數(shù)字,按照范圍進(jìn)行自動分片,比如0-200萬的數(shù)據(jù)在分片節(jié)點(diǎn)0,200-400萬的數(shù)據(jù)在分片節(jié)點(diǎn)2,依次類推,根據(jù)數(shù)據(jù)庫服務(wù)器的性能,可以每個(gè)分片存儲100-500條記錄之間,此種方式,每個(gè)分片表一個(gè)獨(dú)立的自增長ID機(jī)制,確保記錄的連續(xù)性。conf/ autopartition-long.txt中定義了分段范圍與分片ID的關(guān)系。

          rule.xml的參考配置為:

          <tableRule name="auto-sharding-long">
              
          <rule>
                
          <columns>user_id</columns>
                
          <algorithm>rang-long</algorithm>
              
          </rule>
          </tableRule>

          <function name="rang-long" class="org.opencloudb.route.function.AutoPartitionByLong">
              
          <property name="mapFile">autopartition-long.txt</property>
          </function>

          對應(yīng)的范圍設(shè)置在conf/autopartition-long.txt文件,參考內(nèi)容如下:

          # range start-end ,data node index
          # K=1000,M=10000.
          0-10000=0
          10001-20000=1
          20001-30000=2
          30000-40000=3

          schema.xml更改t_user表的ruleauto-sharding-long,重啟MyCAT后,使用MySQL連接后運(yùn)行如下SQL語句:

          INSERT INTO t_user(user_id, receive_address, create_time, province_code) VALUES ('9999', '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:00:00', 'GD');
          INSERT INTO t_user(user_id, receive_address, create_time, province_code) VALUES ('10001', '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:00:00', 'GD');
          INSERT INTO t_user(user_id, receive_address, create_time, province_code) VALUES ('20001', '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:00:00', 'GD');
          INSERT INTO t_user(user_id, receive_address, create_time, province_code) VALUES ('30001', '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:00:00', 'GD');


          分別查詢user0~user3數(shù)據(jù)庫,可看到user_id分別為9999、100012000130001的記錄分別被插入到user0、user1、user2user3數(shù)據(jù)庫。

          mod-long,對某些表,我們基本上很少會涉及到范圍查詢的,只根據(jù)某個(gè)字段(最常見是主鍵)進(jìn)行查找定位,則可以用求余的方式,隨機(jī)分配到其中一個(gè)節(jié)點(diǎn)上。

          rule.xml的參考配置為:

          <tableRule name="mod-long">
              
          <rule>
                
          <columns>user_id</columns>
                
          <algorithm>mod-long</algorithm>
              
          </rule>
           
          </tableRule>

          <function name="rang-long" class="org.opencloudb.route.function.AutoPartitionByLong">
              
          <property name="mapFile">autopartition-long.txt</property>
          </function>

          schema.xml更改t_user表的rulemod-long,重啟MyCAT后,使用MySQL連接后運(yùn)行如下SQL語句:

          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES (10004, '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:30:00', 'GD');
          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES (10005, '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:30:00', 'GD');
          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES (10006, '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:30:00', 'GD');
          INSERT INTO t_user (user_id, receive_address, create_time, province_code) VALUES (10007, '廣州市越秀區(qū)廣州大道中599號', '2014-12-25 17:30:00', 'GD');

          分別查詢user0~user3數(shù)據(jù)庫,可看到user_id分別為1000410007的記錄分別被插入到user0user1、user2user3數(shù)據(jù)庫。

          所有的分片規(guī)則都在rule.xml中定義,不同的表根據(jù)需求,定義不同的分片規(guī)則。

          對于某些不分片的表格,或者分片規(guī)則一樣的表格,table的定義可以用簡化的方式來寫,如:<table name="t_user,t_user_class_rel" rule="auto-sharding-long" />  。對于此種方式,name中定義的這些表格具有相同的屬性,并且都不能有childTable 元素。

          1.1.2 基于E-R關(guān)系分片策略

          傳統(tǒng)的數(shù)據(jù)庫分片方式都是基于單個(gè)表格,對于表關(guān)聯(lián)這種操作,則很難處理。為了能夠執(zhí)行t_usert_user_class_rel的聯(lián)合查詢, MyCAT借鑒了NewSQL領(lǐng)域的新秀Foundation DB的設(shè)計(jì)思路,Foundation DB創(chuàng)新性的提出了Table Group的概念,其將子表的存儲位置依賴于主表,并且物理上緊鄰存放,因此徹底解決了JOIN的效率和性能問題,根據(jù)這一思路,提出了基于E-R關(guān)系的數(shù)據(jù)分片策略,子表的記錄與所關(guān)聯(lián)的父表記錄存放在同一個(gè)數(shù)據(jù)分片上。

          t_usert_user_class_rel例子為例,schema.xml中定義如下的分片配置:

          <table name="t_user" dataNode="user0,user1,user2,user3" rule="mod-long">
              
          <childTable name="t_user_class_rel" primaryKey="id" joinKey="user_id" parentKey="user_id" />
          </table>

          t_user采用mod-long這個(gè)分片策略,分片在user0~user3上,t_user_class_rel依賴父表進(jìn)行分片,兩個(gè)表的關(guān)聯(lián)關(guān)系為t_user_class_rel.user_id=t_user.id。于是數(shù)據(jù)分片和存儲的示意圖如下:

          這樣一來,分片user0上的t_useruser0上的t_user_class_rel就可以進(jìn)行局部的JOIN聯(lián)合,user1~user3上也如此,再合并兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)即可完成整體的JOIN,試想一下,每個(gè)分片上t_user_class_rel表有1000萬條,則10個(gè)分片就有1個(gè)億,基于E-R映射的數(shù)據(jù)分片模式,基本上解決了80%以上的企業(yè)應(yīng)用所面臨的問題。

          多對多的表格如何處理?多對多的表格通常情況下,有以下幾種:

          主表+關(guān)系表+字典表

          主表A+關(guān)系表+主表B

          對于第一種,字典表可以被定義為“全局表”,字典表的記錄規(guī)??梢栽趲浊У綆资f之間,基本是變動比較少的表,由MyCAT自動實(shí)時(shí)同步到所有分片,這樣就可以三個(gè)表都做JOIN操作了。

          對于第二種,需要從業(yè)務(wù)角度來看,關(guān)系表更偏向哪個(gè)表,即“A的關(guān)系”還是“B的關(guān)系”,來決定關(guān)系表跟從那個(gè)方向存儲。目前還暫時(shí)無法很好支持這種模式下的3個(gè)表之間的關(guān)聯(lián)。未來版本中將考慮將中間表進(jìn)行雙向復(fù)制,以實(shí)現(xiàn)從A-關(guān)系表 以及B-關(guān)系表的雙向關(guān)聯(lián)查詢。

          關(guān)于全局表的實(shí)現(xiàn)方式,全局表在數(shù)據(jù)插入或更新的時(shí)候,會自動在全局表定義的所有數(shù)據(jù)節(jié)點(diǎn)上執(zhí)行相同的操作,以保證所有數(shù)據(jù)節(jié)點(diǎn)都一致,由于這個(gè)特性,全局表可以跟任何分片或不分片的表格進(jìn)行JOIN操作。對數(shù)據(jù)更新不頻繁的,規(guī)模不是很大的(100萬之內(nèi))的表都可以定義為MyCAT的全局表,以實(shí)現(xiàn)用存儲換性能的目標(biāo)。

          1.1.3 主鍵分片 VS 非主鍵分片

          主鍵分片還是非主鍵分片,這個(gè)問題并不是很難,當(dāng)你沒人任何字段可以作為分片字段的時(shí)候,主鍵分片就是唯一選擇,其優(yōu)點(diǎn)是按照主鍵的查詢最快,當(dāng)采用自動增長的序列號作為主鍵時(shí),還能比較均勻的將數(shù)據(jù)分片在不同的節(jié)點(diǎn)上。

          若有某個(gè)合適的業(yè)務(wù)字段比較合適作為分片字段,則建議采用此業(yè)務(wù)字段分片,選擇分片字段的條件如下:

          • 盡可能的比較均勻分布數(shù)據(jù)到各個(gè)節(jié)點(diǎn)上;
          • 該業(yè)務(wù)字段是最頻繁的或者最重要的查詢條件。

          常見的除了主鍵之外的其他可能分片字段有“訂單創(chuàng)建時(shí)間”、“店鋪類別”或“所在省”等。當(dāng)你找到某個(gè)合適的業(yè)務(wù)字段作為分片字段以后,不必糾結(jié)于“犧牲了按主鍵查詢記錄的性能”,因?yàn)樵谶@種情況下,MyCAT提供了“主鍵到分片”的內(nèi)存緩存機(jī)制,熱點(diǎn)數(shù)據(jù)按照主鍵查詢,絲毫不損失性能。做法如下:

          <table name="t_user" primaryKey="user_id" dataNode="user0,user1,user2,user3" rule="mod-long">
          <childTable name="t_user_class_rel" primaryKey="id" joinKey="user_id" parentKey="user_id" />
          </table>

          對于非主鍵分片的table,填寫屬性primaryKey,此時(shí)MyCAT會將你根據(jù)主鍵查詢的SQL語句的第一次執(zhí)行結(jié)果進(jìn)行分析,確定該Table 的某個(gè)主鍵在什么分片上,并進(jìn)行主鍵到分片ID的緩存,以下面SQL為例,由于id 不是orders的分片字段,因此這個(gè)SQL第一次會發(fā)送給所有分片去執(zhí)行:

          select * from orders where id=1;

          對于多個(gè)主鍵的查詢,一樣可以自動優(yōu)化,如:

          select * from orders where id in (1,2,3)

          則會分別存儲12、3這三個(gè)主鍵到分片的緩存關(guān)系。

          設(shè)想下,每個(gè)表有5000萬數(shù)據(jù),10%的熱點(diǎn)數(shù)據(jù)經(jīng)常按照主鍵查詢,5000*10%=500萬,緩存上述信息大概需要1.5G內(nèi)存,通過分析緩存使用信息,就可以最精確的調(diào)優(yōu)這筆緩存的內(nèi)存。通過連接MyCAT9066管理端口,執(zhí)行show @@cache,可以顯示當(dāng)前緩存的使用情況。

          1.2 高可用性配置

          MyCAT支持高可用性的企業(yè)級特性,根據(jù)應(yīng)用特性,可以配置如下幾種策略:

          后端數(shù)據(jù)庫配置為一主多從,并開啟讀寫分離機(jī)制。

          后端數(shù)據(jù)庫配置為雙主雙從(多從),并開啟讀寫分離機(jī)制。

          后端數(shù)據(jù)庫配置為多主多從,并開啟讀寫分離機(jī)制

          后面兩種配置,具有更高的系統(tǒng)可用性,當(dāng)其中一個(gè)寫節(jié)點(diǎn)(主節(jié)點(diǎn))失敗后,Mycat會偵測出來(心跳機(jī)制)并自動切換到下一個(gè)寫節(jié)點(diǎn),MyCAT在任何時(shí)候,只會往一個(gè)寫節(jié)點(diǎn)寫數(shù)據(jù)。

          下面是典型的雙主雙從的MySQL集群配置:

          MyCATschema.xml配置文件中的雙主雙從參考配置:

          <dataHost name="testhost" maxCon="1000" minCon="10" balance="1"
                  writeType
          ="0" dbType="mysql" dbDriver="native">
              
          <heartbeat>select user()</heartbeat>
              
          <!-- can have multi write hosts -->
              
          <writeHost host="hostM1" url="localhost:3306" user="root" password="">
                  
          <readHost host="hostM2" url="10.18.96.144:3306" user="axx" password="axx" />
              
          </writeHost>
              
          <writeHost host="hostM3" url="……:3306" user="root" password="">
                  
          <readHost host="hostM4" url="……:3306" user="axx" password="axx" />
              
          </writeHost>
          </dataHost>



          2、   管理監(jiān)控命令

          MyCAT自身有類似其他數(shù)據(jù)庫的管理監(jiān)控方式,通過Mysql命令行,登錄管理端口(9066)執(zhí)行相應(yīng)的SQL,進(jìn)行管理

          mysql -utest -ptest -P9066
          show 
          @@help

          此命令會顯示所有的管理監(jiān)控命令,另外請參照《Mycat命令行監(jiān)控指南.docx》這個(gè)文檔來深入了解。

          2.1 監(jiān)控命令匯總

          show @@help;”命令的運(yùn)行結(jié)果如下所示:

          mysql> show @@help;
          +--------------------------------------+-----------------------------------+
          | STATEMENT                            | DESCRIPTION                       |
          +--------------------------------------+-----------------------------------+
          | clear @@slow where datanode = ?      | Clear slow sql by datanode        |
          | clear @@slow where schema = ?        | Clear slow sql by schema          |
          | kill @@connection id1,id2,        | Kill the specified connections    |
          | offline                              | Change MyCat status to OFF        |
          | online                               | Change MyCat status to ON         |
          | reload @@config                      | Reload all config from file       |
          | reload @@route                       | Reload route config from file     |
          | reload @@user                        | Reload user config from file      |
          | rollback @@config                    | Rollback all config from memory   |
          | rollback @@route                     | Rollback route config from memory |
          | rollback @@user                      | Rollback user config from memory |
          | show @@backend                       | Report backend connection status |
          | show @@command                       | Report commands status            |
          | show @@connection                    | Report connection status          |
          | show @@connection.sql                | Report connection sql             |
          | show @@database                      | Report databases                  |
          | show @@datanode                      | Report dataNodes                  |
          | show @@datanode where schema = ?     | Report dataNodes                  |
          | show @@datasource                    | Report dataSources                |
          | show @@datasource where dataNode = ? | Report dataSources                |
          | show @@heartbeat                     | Report heartbeat status           |
          | show @@parser                        | Report parser status              |
          | show @@processor                     | Report processor status           |
          | show @@router                        | Report router status              |
          | show @@server                        | Report server status              |
          | show @@slow where datanode = ?       | Report datanode slow sql          |
          | show @@slow where schema = ?         | Report schema slow sql            |
          | show @@sql where id = ?              | Report specify SQL                |
          | show @@sql.detail where id = ?       | Report execute detail status      |
          | show @@sql.execute                   | Report execute status             |
          | show @@sql.slow                     | Report slow SQL                   |
          | show @@threadpool                    | Report threadPool status          |
          | show @@time.current                  | Report current timestamp          |
          | show @@time.startup                  | Report startup timestamp          |
          | show @@version                       | Report Mycat Server version       |
          | stop @@heartbeat name:time           | Pause dataNode heartbeat          |
          | switch @@datasource name:index       | Switch dataSource                 |
          +--------------------------------------+-----------------------------------+
          37 rows in set (0.02 secs)




          2.2 常用監(jiān)控命令

          常用的監(jiān)控命令如下所示:

          2.2.1 reload @@config

          MyCAT的命令行監(jiān)控窗口運(yùn)行:

          reload @@config;

          該命令用于更新配置文件,例如更新schema.xml文件后在命令行窗口輸入該命令,可不用重啟即進(jìn)行配置文件更新。運(yùn)行結(jié)果參考如下:

          mysql> reload @@config;
          Query OK, 
          1 row affected (0.29 sec)
          Reload config success


           

          2.2.2 show @@database

          MyCAT的命令行監(jiān)控窗口運(yùn)行:

          show @@database;

          該命令用于顯示MyCAT的數(shù)據(jù)庫的列表,對應(yīng)schema.xml配置文件的schema子節(jié)點(diǎn),參考運(yùn)行結(jié)果如下:

          mysql> show @@database;
          +------------+
          | DATABASE   |
          +------------+
          | photo      |
          | test_mycat |
          | weixin     |
          | yixin      |
          +------------+
          4 rows in set (0.00 sec)

           

          2.2.3 show @@datanode

          MyCAT的命令行監(jiān)控窗口運(yùn)行:

          show @@datanode;

          該命令用于顯示MyCAT的數(shù)據(jù)節(jié)點(diǎn)的列表,對應(yīng)schema.xml配置文件的dataNode節(jié)點(diǎn),參考運(yùn)行結(jié)果如下:

          mysql> show @@datanode;
          +--------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+--------------+
          |NAME|DATHOST|INDEX|TYPE|ACTIVE|IDLE|SIZE|EXECUTE|TOTAL_TIME|MAX_TIME|MAX_SQL|RECOVERY_TIME|
          +--------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
          |photo|testhost/photo|0|mysql|0|7|1000|0|0|0|0|-1|
          |user0|testhost/eip_user0|0|mysql|0|7|1000|5|0|0|0|-1|
          |user1|testhost/eip_user1|0|mysql|0|7|1000|1|0|0|0|-1|
          |user2|testhost/eip_user2|0|mysql|0|7|1000|1|0|0|0|-1|
          |user3|testhost/eip_user3|0|mysql|0|7|1000|1|0|0|0|-1|
          |weixin|testhost/weixin|0|mysql|0|7|1000|0|0|0|0|-1|
          |yixin|testhost/yixin|0|mysql|0|7|1000|0|0|0|0|-1|
          +--------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
          7 rows in set (0.05 sec)

          其中,“NAME”表示dataNode的名稱;“dataHost”表示對應(yīng)dataHost屬性的值,即數(shù)據(jù)主機(jī);“ACTIVE”表示活躍連接數(shù);“IDLE”表示閑置連接數(shù);“SIZE”對應(yīng)總連接數(shù)量。

          運(yùn)行如下命令,可查找對應(yīng)的schema下面的dataNode列表:

          show @@datanode where schema = ?

          該命令的執(zhí)行結(jié)果參考如下:

          mysql> show @@datanode where schema = test_mycat;
          +-------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
          |NAME|DATHOST|INDEX|TYPE|ACTIVE|IDLE|SIZE|EXECUTE|TOTAL_TIME|MAX_TIM| MAX_SQL|RECOVERY_TIME|
          +-------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
          |user0|testhost/eip_user0|0|mysql|0|6|1000|5|0|0|0|-1|
          |user1|testhost/eip_user1|0|mysql|0|6|1000|1|0|0|0|-1|
          |user2|testhost/eip_user2|0|mysql|0|6|1000|1|0|0|0|-1|
          |user3|testhost/eip_user3|0|mysql|0|6|1000|1|0|0|0|-1|
          +-------+--------------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
          4 rows in set (0.00 sec)


           

          2.2.4 show @@heartbeat

                   該命令用于報(bào)告心跳狀態(tài),參考運(yùn)行結(jié)果如下所示:

          mysql> show @@heartbeat;
          +--------+-------+--------------+------+---------+-------+--------+---------+----------------+---------------------+-------+
          |NAME|TYPE|HOST|PORT|RS_CODE|RETRY|STATUS|TIMEOUT|EXECUTE_TIME|LAST_ACTIVE_TIME|STOP|
          +--------+-------+--------------+------+---------+-------+--------+---------+----------------+---------------------+-------+
          |hostM1|mysql|localhost|3306|1|0|idle|30000|0,2001,1445|2014-12-26 12:11:05|false|
          |hostM3|mysql|localhost|3306|1|0|idle|30000|5003,5168,4278|2014-12-26 12:11:05|false|
          |hostM2|mysql|10.18.96.144|3306|1|0|idle|30000|5,3,2|2014-12-26 12:11:05|false|
          |hostM4|mysql|10.18.96.144|3306|1|0|idle|30000|2,2,2|2014-12-26 12:11:05|false|
          +--------+-------+--------------+------+---------+-------+--------+---------+----------------+---------------------+-------+
          4 rows in set (0.01 sec)



          2.2.5 show @@version

                   該命令用于獲取MyCAT的版本,參考運(yùn)行結(jié)果如下所示:

          mysql> show @@version;
          +------------------+
          | VERSION          |
          +------------------+
          | 5.1.48-mycat-1.2 |
          +----------------+
          1 row in set (0.00 sec)

           

          2.2.6 show @@sql.slow

                   該命令用于查詢運(yùn)行緩慢的SQL語句,參考運(yùn)行結(jié)果如下所示:

          mysql> show @@sql.slow;
          Empty 
          set (0.00 sec)



          2.2.7 show @@connection

                   該命令用于獲取連接狀態(tài),參考運(yùn)行結(jié)果如下所示:

           

          mysql> show @@connection;
          +------------+------+-----------+------+------------+------------+---------+----
          --
          --+---------+---------------+-------------+------------+
          |PROCESSOR|ID|HOST|PORT|LOCAL_PORT|SCHEMA|CHARSET|NET_IN|NET_OUT|ALIVE_TIME(S)|RECV_BUFFER|SEND_QUEUE|
          +------------+------+-----------+------+------------+------------+---------+----
          --
          --+---------+---------------+-------------+------------+
          |Processor0|5|127.0.0.1|8066|54448|test_mycat|utf8|320|44674|225|4096|0|
          |Processor3|6|127.0.0.1|9066|54432|NULL|utf8|162|741|459|4096|0|
          +------------+------+-----------+------+------------+------------+---------+----
          --
          --+---------+---------------+-------------+------------+
          2 rows in set (0.04 sec)

           

          3、   參考文檔

          1)《MyCAT inAction中文版》

          2)《Mycat命令行監(jiān)控指南.docx

          posted on 2014-12-26 16:06 阿蜜果 閱讀(17504) 評論(2)  編輯  收藏 所屬分類: database 、架構(gòu)師之路


          FeedBack:
          # re: 關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng)MyCAT(2)——高級功能和管理監(jiān)控
          2015-01-07 21:43 | bj
          怎么沒內(nèi)容?!!  回復(fù)  更多評論
            
          # re: 關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng)MyCAT(2)——高級功能和管理監(jiān)控
          2015-01-14 12:09 | 阿蜜果
          @bj
          多謝你提醒我,拷貝到時(shí)候拷貝漏了,5555~
            回復(fù)  更多評論
            
          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

                生活將我們磨圓,是為了讓我們滾得更遠(yuǎn)——“圓”來如此。
                我的作品:
                玩轉(zhuǎn)Axure RP  (2015年12月出版)
                

                Power Designer系統(tǒng)分析與建模實(shí)戰(zhàn)  (2015年7月出版)
                
               Struts2+Hibernate3+Spring2   (2010年5月出版)
               

          留言簿(263)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          關(guān)注blog

          積分與排名

          • 積分 - 2299173
          • 排名 - 3

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昭平县| 玉门市| 湘阴县| 拉萨市| 蒲江县| 城固县| 黄浦区| 景洪市| 无极县| 章丘市| 定远县| 肇东市| 台州市| 乐平市| 石棉县| 石狮市| 兴国县| 新竹县| 三亚市| 滁州市| 墨竹工卡县| 鲁甸县| 敦化市| 巩义市| 满洲里市| 泽库县| 仪征市| 晋州市| 无为县| 中卫市| 长春市| 全州县| 盈江县| 沈阳市| 望江县| 泰宁县| 武夷山市| 上饶市| 玉山县| 三门峡市| 晋江市|