管理监控命令
MyCAT自身有类似其他数据库的管理监控方式,通过Mysql命令行,登录管理端口(9066)执行相应的SQL,进行管理
mysql -utest -ptest -P9066
或:mysql -h127.0.0.1 -utest -ptest -P9066
show
show @@help;
此命令会显示所有的管理监控命令,另外请参照《Mycat命令行监控指南.docx》这个文档来深入了解。
2.1 监控命令汇总
“show @@help;”命令的运行结果如下所示:
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 常用监控命令
常用的监控命令如下所示:
2.2.1 reload @@config
在MyCAT的命令行监控窗口运行:
reload @@config;
该命令用于更新配置文件,例如更新schema.xml文件后在命令行窗口输入该命令,可不用重启即进行配置文件更新。运行结果参考如下:
mysql> reload @@config;
Query OK, 1 row affected (0.29 sec)
Reload config success
2.2.2 show @@database
在MyCAT的命令行监控窗口运行:
show @@database;
该命令用于显示MyCAT的数据库的列表,对应schema.xml配置文件的schema子节点,参考运行结果如下:
mysql> show @@database;
+------------+
| DATABASE |
+------------+
| photo |
| test_mycat |
| weixin |
| yixin |
+------------+
4 rows in set (0.00 sec)
2.2.3 show @@datanode
在MyCAT的命令行监控窗口运行:
show @@datanode;
该命令用于显示MyCAT的数据节点的列表,对应schema.xml配置文件的dataNode节点,参考运行结果如下:
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”表示对应dataHost属性的值,即数据主机;“ACTIVE”表示活跃连接数;“IDLE”表示闲置连接数;“SIZE”对应总连接数量。
运行如下命令,可查找对应的schema下面的dataNode列表:
show @@datanode where schema = ?
该命令的执行结果参考如下:
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
该命令用于报告心跳状态,参考运行结果如下所示:
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的版本,参考运行结果如下所示:
mysql> show @@version;
+------------------+
| VERSION |
+------------------+
| 5.1.48-mycat-1.2 |
+----------------+
1 row in set (0.00 sec)
2.2.6 show @@sql.slow
该命令用于查询运行缓慢的SQL语句,参考运行结果如下所示:
mysql> show @@sql.slow;
Empty set (0.00 sec)
2.2.7 show @@connection
该命令用于获取连接状态,参考运行结果如下所示:
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)
注意:目前针对慢 sql 查询等性能方面的几个命令暂未实现。