5.8.1.2 命令探针
命令探针在执行 Client 端命令之前和之后执行,包括在此期间可能执行的所有 SQL 语句。命令包括诸如数据库初始化,使用COM_CHANGE_USER
操作(由 MySQL 协议支持)以及对准备好的语句的操作等操作。这些命令中的许多命令仅由 MySQLClient 端 API 通过各种连接器(如 PHP 和 Java)使用。
command-start(connectionid, command, user, host)
command-done(status)
-
command-start
:将命令提交到服务器时触发。 -
connectionid
:执行命令的 Client 端的连接 ID。command
:table 示执行的命令的整数。可能的值如下 table 所示。
Value | Name | Description |
---|---|---|
00 | COM_SLEEP | 内螺纹状态 |
01 | COM_QUIT | Close connection |
02 | COM_INIT_DB | 选择数据库(USE ... ) |
03 | COM_QUERY | 执行查询 |
04 | COM_FIELD_LIST | 获取字段列 table |
05 | COM_CREATE_DB | 创建一个数据库(不推荐使用) |
06 | COM_DROP_DB | 删除数据库(不建议使用) |
07 | COM_REFRESH | Refresh connection |
08 | COM_SHUTDOWN | Shutdown server |
09 | COM_STATISTICS | Get statistics |
10 | COM_PROCESS_INFO | 获取流程(SHOW PROCESSLIST) |
11 | COM_CONNECT | Initialize connection |
12 | COM_PROCESS_KILL | Kill process |
13 | COM_DEBUG | 获取调试信息 |
14 | COM_PING | Ping |
15 | COM_TIME | 内螺纹状态 |
16 | COM_DELAYED_INSERT | 内螺纹状态 |
17 | COM_CHANGE_USER | Change user |
18 | COM_BINLOG_DUMP | 由复制从属或mysqlbinlog用于启动二进制日志读取 |
19 | COM_TABLE_DUMP | 复制从属服务器用来获取主 table 信息 |
20 | COM_CONNECT_OUT | 复制从属服务器用于记录与服务器的连接 |
21 | COM_REGISTER_SLAVE | 在注册期间由复制从属使用 |
22 | COM_STMT_PREPARE | 准备一份声明 |
23 | COM_STMT_EXECUTE | 执行语句 |
24 | COM_STMT_SEND_LONG_DATA | 在请求扩展数据时由 Client 端使用 |
25 | COM_STMT_CLOSE | 关闭准备好的语句 |
26 | COM_STMT_RESET | 重置准备好的语句 |
27 | COM_SET_OPTION | 设置服务器选项 |
28 | COM_STMT_FETCH | 获取准备好的语句 |
-
user
:执行命令的用户。 -
host
:Client 端主机。 -
command-done
:命令执行完成时触发。如果命令成功执行,则status
参数包含 0;如果该语句在正常完成之前被终止,则status
参数包含 1.
与语句探针结合使用时,最好使用command-start
和command-done
探针,以了解整体执行时间。