官網(wǎng)地址:Protocol Basics
如果MySQL客戶端或服務(wù)器想要發(fā)送數(shù)據(jù),則:
- Splits the data into packets of size 224 bytes 將數(shù)據(jù)分割成大小為224字節(jié)的數(shù)據(jù)塊
- Prepends to each chunk a packet header在每個數(shù)據(jù)塊前面添加一個數(shù)據(jù)包頭
Protocol::Packet
客戶端和服務(wù)端交換數(shù)據(jù)包數(shù)據(jù)最大為16MByte
載荷
Sending More Than 16Mb
如果有效載荷大于或等于224-1字節(jié),則將長度設(shè)置為224-1(ff ff ff),并且將額外的分組與其余的有效載荷一起發(fā)送,直到分組的有效載荷小于224-1字節(jié)殴玛。
舉個例子:發(fā)送16 777 215 (224-1) 個字節(jié)
ff ff ff 00 ...
00 00 00 01
Sequence ID
sequence-id隨每個數(shù)據(jù)包遞增,并可以環(huán)繞。 它從0開始水评,并且在命令階段開始新命令時(shí)重置為0。
Describing Packets 包的描述
在本文檔中媚送,我們首先定義每個數(shù)據(jù)包的有效負(fù)載并提供一個示例中燥,顯示發(fā)送的每個數(shù)據(jù)包,包括其數(shù)據(jù)包頭:
<packetname>
<description>
direction: client -> server
response: <response>
payload:
<type> <description>
舉例:
01 00 00 00 01
一些包有一些可選參數(shù)塘偎,或者有不同的可選標(biāo)識去選擇疗涉。Capabilities Flags.
如果一個字段具有固定值,則其描述將其顯示為括號中的十六進(jìn)制值吟秩,如下所示:[00]