Mysql的command packet的种类有很多,下面一一列出,以供参考
Name | 解释 | 参数 |
Com_quit | 关闭当前的连接 |
|
Com_init_db | 使用某个db,类似于user xxx; |
|
Com_query | 用于执行sql语句 |
|
Com_field_list | 展示某个表的列,类似于show fields from |
|
Com_create_db | 创建DB |
|
Com_drop_db | 删除DB |
|
Com_refresh | 类似于c api 的mysql_refresh() |
|
Com_shutdown | 关闭mysql server | 0x00...SHUTDOWN_DEFAULT 0x01...SHUTDOWN_WAIT_CONNECTIONS 0x02...SHUTDOWN_WAIT_TRANSACTIONS 0x08...SHUTDOWN_WAIT_UPDATES 0x10...SHUTDOWN_WAIT_ALL_BUFFERS 0x11...SHUTDOWN_WAIT_CRITICAL_BUFFERS 0xFE...KILL_QUERY 0xFF... KILL_CONNECTION |
Com_statistics | 获取mysql server的一些统计数据 |
|
Com_process_info | 等价于mysql的show processlist |
|
Com_process_kill | 等价于sql statement(kill pid) |
|
Com_debug | 让mysql服务器dump出来一些debug信息 | 没有参数 |
Com_ping | 用于测试mysql connection,重置mysql inactivity counter |
|
Com_change_user | 在不关闭连接的情况下改变用户 |
|
Com_binlog_dump | 当一个复制连接建立的时候,这是最后一个从client发给server的请求 |
|
Com_table_dump | 等价于从client端发起Load table..from master statement语句 |
|
Com_register_slave | 如果slave设置了report_host,在建立复制连接的时候,会发这个包 |
|
Com_prepare | Prepare一个sql statement |
|
Com_execute |
|
|
Com_long_data | 在使用mysql_stmet_send_log_data()的时候 |
|
Com_close_stmt | Destroy a prepared statement. |
|
Com_reset_stmt | Reset (empty) the parameter buffers for a prepared statement |
|
Com_set_option | he parameter is a 16-bit integer. There is an ENUM type enum_mysql_set_option defined in mysql_com.h: |
|
Com_fetch_stmt | Fetch result rows from a prepared statement. |
|
从抽象意义上来看,command packet的格式分为两个方面,一个是command,另外一个是参数
从行复制协议来看,我们要使用com_binlog_dump命令来从从server dump数据
1byte | command | 0x12 |
4byte | binlog position |
|
2byte | binlog flag |
|
4byte | server id |
|
nbyte | binlog filename |
|
If the binlog file name is not given, it defaults to the first binlog available on the master.
评论