-
Notifications
You must be signed in to change notification settings - Fork 1
MySQL 通信协议
imfht edited this page Oct 19, 2023
·
2 revisions
MySQL是一个常用的数据库服务,其通信使用二进制协议,客户端连接成功后服务器会主动返回服务器的信息,一个典型的返回如下:
4a 00 00 00 0a 35 2e 37 2e 33 33 00 63 e1 00 00 2f 4a 25 18 5f 20 64 25 00 ff ff 08 02 00 ff c1 15 00 00 00 00 00 00 00 00 00 00 4a 2b 52 1d 13 45 53 02 5f 01 53 65 00 6d 79 73 71 6c 5f 6e 61 74 69 76 65 5f 70 61 73 73 77 6f 72 64 00
上述回包由如下几部分组成
- 4a 00 00 00 用4个字节表示一个32位整数(Little-endian),表示数据包长度
- 0a 握手协议,这里表示V10,3.21.0之后的版本握手协议都是v10
- 35 2e 37 2e 33 33 代表版本号,因为MySQL使用00 进行截断,序列号和00之间的内容即为版本号
4a 00 00 00 0a35 2e 37 2e 33 3300
之后的就不关注啦~ 感兴趣的可以看一下这两个文章:
hello