### MyCAT日常管理知识点
#### 一、MyCAT基本操作
**启动与停止服务**
- **启动服务**:`./mycat start`
- 这条命令用于启动MyCAT服务。在启动过程中,MyCAT会读取配置文件,并初始化相关的数据库连接及内部组件。
- **停止服务**:`./mycat stop`
- 此命令用于停止正在运行的MyCAT服务。在执行此命令后,MyCAT会优雅地关闭所有连接并释放资源。
- **重启服务**:`./mycat restart`
- 重启命令结合了停止与启动两个过程,首先停止当前服务,然后重新启动MyCAT。
- **查看服务状态**:`./mycat status`
- 使用这条命令可以查看MyCAT服务的当前状态,例如是否正在运行。
**登录MyCAT**
- **命令格式**:`mysql -u<username> -p -P<port> -h<host> -D<database>`
- 其中`-u<username>`指定登录用户名;`-p`后面跟密码输入提示;`-P<port>`指定端口号;`-h<host>`指定主机地址;`-D<database>`指定数据库名称。
- 示例:`mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB`
#### 二、MyCAT常用管理命令
**1. 显示后端物理库连接信息**
- **命令**:`show @@backend`
- 通过此命令可以查看MyCAT后端数据库的连接信息,包括当前连接数、端口等。
**2. 显示当前前端客户端连接情况**
- **命令**:`show @@connection`
- 此命令用于查看当前所有连接到MyCAT的前端客户端的情况,包括连接ID、客户端地址等信息。
**3. 当前线程池的执行情况**
- **命令**:`show @@threadpool`
- 这条命令用于查看MyCAT内部线程池的执行状态,包括活跃线程数(`active_count`)和等待处理的SQL数量(`task_queue_size`)。如果`task_queue_size`持续较高,则表明可能存在性能瓶颈或后端数据库连接不足的问题。
**4. 当前后端物理库的心跳检测情况**
- **命令**:`show @@heartbeat`
- 此命令用于检查MyCAT与后端物理数据库之间的心跳连接状态。RS_CODE为1表示心跳正常。
**5. 显示数据节点的访问情况**
- **命令**:`show @@datanode`
- 该命令显示各个数据节点的连接使用情况,包括当前活动连接数(`active`)、空闲连接数(`idle`)以及最大连接数(`maxConsize`)。此外,还会显示从该节点获取连接的次数(`EXECUTE`),以此判断哪些节点被频繁访问。
**6. 显示当前processors的处理情况**
- **命令**:`show @@processor`
- 此命令提供关于processors的详细信息,包括IO吞吐量(`NET_IN/NET_OUT`)、IO队列的积压情况(`R_QUEY/W_QUEUE`)以及SocketBufferPool的使用情况(`BU_PERCENT`为已使用的百分比、`BU_WARNS`为临时创建BUFFER的次数)。如果`BU_PERCENT`经常超过90%,且`BU_WARNS`大于0,则可能需要调整BUFFER大小。
**7. 显示缓存的使用情况**
- **命令**:`show @@cache`
- 这条命令提供了缓存使用情况的概览,对于性能监控和调优非常有用。
**8. 杀掉客户端的连接**
- **命令**:`KILL @@CONNECTION <id>`
- 通过这个命令可以终止特定客户端的连接,其中`<id>`是连接ID,可以通过`show @@connection`命令查看。
**9. 重新加载配置文件schema.xml**
- **命令**:`reload @@config`
- 当对schema.xml进行修改后,需要使用这条命令来重新加载配置文件,使更改生效。
以上命令为MyCAT日常管理和维护中常用的命令,通过这些命令可以有效地监控和调整MyCAT的服务状态,确保其稳定高效地运行。掌握这些命令对于MyCAT管理员来说至关重要。