官网地址:Protocol Basics
如果MySQL客户端或服务器想要发送数据,则:
- Splits the data into packets of size 224 bytes 将数据分割成大小为224字节的数据块
- Prepends to each chunk a packet header在每个数据块前面添加一个数据包头
Protocol::Packet
客户端和服务端交换数据包数据最大为16MByte
Sending More Than 16Mb
如果有效载荷大于或等于224-1字节,则将长度设置为224-1(ff ff ff),并且将额外的分组与其余的有效载荷一起发送,直到分组的有效载荷小于224-1字节。
举个例子:发送16 777 215 (224-1) 个字节
ff ff ff 00 ...
00 00 00 01
Sequence ID
sequence-id随每个数据包递增,并可以环绕。 它从0开始,并且在命令阶段开始新命令时重置为0。
Describing Packets 包的描述
在本文档中,我们首先定义每个数据包的有效负载并提供一个示例,显示发送的每个数据包,包括其数据包头:
<packetname>
<description>
direction: client -> server
response: <response>
payload:
<type> <description>
举例:
01 00 00 00 01
一些包有一些可选参数,或者有不同的可选标识去选择。Capabilities Flags.
如果一个字段具有固定值,则其描述将其显示为括号中的十六进制值,如下所示:[00]
网友评论