标签:版本 stat hang lock 报文 des 操作 完成 tab
长度使用3个字节表示,最大值16MByte.
Type | Name | Description |
---|---|---|
int<3> | payload_length | payload的长度,按照the least significant byte first存储,3个字节的payload 长度和1个字节的序列号组合成报文头 |
int<1> | sequence_id | Sequence ID序列号 |
string | payload | 报文体,长度即为前面指定的payload长度 |
COM_QUIT 是client关闭连接时发送给server端的消息。
payload的第一个字节是Command。
COM_QUIT 报文格式如下:
01 00 00 00 01
- length: 1
- sequence_id: x00
- payload: 0x01
client向server发送的操作命令,例如查询,插入,更新等等。
这里只列出几个常用的命令。
COM_INIT_DB
改变连接的数据库
COM_QUERY
查询操作
COM_STMT_PREPARE
creates a prepared statement from the passed query string.
COM_STMT_EXECUTE
asks the server to execute a prepared statement as identified by stmt-id.
client首先连接server,然后server开始握手过程。
流程图如下:
c s
|----------------connect------------------->|
|<---------initial Handshake Packet---------|
|-----------Handshake Response Packet------>|
两种类型的handshake reponse packet:
Protocol::HandshakeResponse41
4.1以后版本,支持 CLIENT_PROTOCOL_41 capability
CLIENT_PROTOCOL_41定义为0x00000200
Protocol::HandshakeResponse320
老版本
连接阶段完成:
https://dev.mysql.com/doc/internals/en/client-server-protocol.html
标签:版本 stat hang lock 报文 des 操作 完成 tab
原文地址:https://www.cnblogs.com/lanyangsh/p/9782206.html