Mycat 提供了類似數據庫的管理監控方式,可以通過 MySQL 命令行登陸管理端口 9066 執行相應的 SQL 語句進行管理,可以可以通過 JDBC 的方式進行遠程連接管理,使用 MySQL 命令行登陸示例如下:
# mysql -h192.168.2.214 -umycat -P9066 -p123456 [-dtempdb]
-h:參數后面是主機IP
-u:是mycat配置的邏輯庫的用戶
-p:是mycat配置的邏輯庫的用戶密碼
-P:是端口號
-d:是邏輯庫名稱
可以使用 show @@help 查詢所有命令
Reload 命令
-
reload @@config
該命令用於更新 schema.xml 配置文件,例如更新 schema.xml 文件后在命令窗口輸入該命令,不用重啟即可進行配置文件的更新,示例如下:
-
reload @@config_all
-
該命令用於更新所有配置文件,不用重啟即可進行配置文件的更新,示例如下:
-
Show 命令
-
show @@database
該命令用於查詢顯示 Mycat 的數據庫列表(邏輯庫),示例如下:
-
show @@datanode
該命令用於查詢顯示 Mycat 數據節點列表,還可以通過 show @@datanode where schema = ? 的方式查詢指定邏輯庫(區分大小寫)的數據節點,示例如下:
name:表示數據節點的名稱
datahost:表示對應的數據主機
active:表示活動連接
idle:表示空閑連接
size:表示最大連接數量
-
show @@heartbeat
該命令用於報告心跳狀態,示例如下:
name:數據主機名稱
type:表示數據庫類型
host:表示主機地址
rs_code:表示心跳狀態
- 0:INIT_STATUS 表示初始化狀態
- 1:OK_STATUS 表示正常狀態
- -1:ERROR_STATUS 表示連接出錯
- -2:TIMEOUT_STATUS 表示連接超時
若節點發生故障,會連續進行默認5個周期的檢測,心跳連續失敗后會變成 -1 ,節點故障確認,然后可能發生切換
-
show @@connection
該命令用於獲取 Mycat 前端的連接狀態,示例如下:
如果需要關閉連接,可以使用 kill @@connection id,id,id,… ,示例如下:
-
show @@backend
查詢后端連接(Mycat 連接實際數據庫)狀態,示例如下:
-
show @@cache
用於查看 Mycat 緩存使用情況,示例如下:
SQLRouteCache:SQL語句路由緩存
TableID2DataNodeCache.TESTDB_ORDERS:緩存表主鍵與分片的對應關系
ER_SQL2PARENTID:緩存ER分片中子表與父表的關系
-
show @@datasource
查看數據源的狀態,如果配置了主從或者多主,則可以切換,示例如下:
如果需要切換數據源,可以使用 switch @@datasource name:index 來切換,示例如下:
name:是 schema 配置文件中,配置的 dataNode 中的 name值
index:是 schema 配置文件中,配置的 dataNode 的 dataHost 的 writeHost 的索引,按照從上往下的配置順序,索引從 0 開始
-
show @@sql
查看在 Mycat 中執行過的SQL語句,需要確認 server.xml 配置文件中的 <property name="useSqlStat">1</property> ,示例如下:
-
show @@sql.slow
查看在 Mycat 中執行的比較慢的 SQL 語句,使用 reload @@sqlslow=? 來設置慢的閾值,如果需要在查詢后,移除本次結果不在下次查詢顯示,可以在命令后 增加標識,show @@sql.slow true,示例如下:
設置執行SQL語句慢的閾值,示例如下:
-
show @@sql.sum
顯示SQL語句的整體執行情況、讀寫比例等,示例如下: