MySQL协议学习:准备工作

Posted tuohai666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL协议学习:准备工作相关的知识,希望对你有一定的参考价值。

 

mysql Client/Server协议

准确的说应该是MySQL Client/Server协议,另一个叫X Protocol的暂不涉及。地址如下:MySQL Client/Server Protocol

 

字节序

一般协议里说的字节序是指网络字节序,网络字节序是big endian。而MySQL协议把主机字节序传输到网络上,使用little endian作为网络字节序,这点需要注意一下。关于字节序可以参考:理解字节序

 

Wireshark

做协议开发,使用wireshark可以大大提高生产力,下面针对MySQL协议对wireshark的使用做个简单的介绍。

抓lo包:

如果你的client和server在同一台机器,比如你自己的电脑,你会发现wireshark抓不到MySQL包,因为loopback不走网卡。解决办法很简单:wireshark如何抓取本机包 (方法二)

过滤条件:

在wireshark的过滤条件里输入tcp.port==3306 && mysql,然后回车,这样就能只显示mysql类型的包。

其他通信方式不能抓包:

如Shared memory,Named pipes等通信方式,wireshark是抓不到的,最好别打开这些参数。

tcpdump:

如果你只具备linux命令行条件,就需要使用tcpdump抓包,抓完后sz到本地,再用wireshark解析。

client和server不在同一台机器:tcpdump tcp port 3306 -w test.pcap

client和server在同一台机器:tcpdump -i lo port 3306 -w test.pcap

以上是关于MySQL协议学习:准备工作的主要内容,如果未能解决你的问题,请参考以下文章

Nordic nRF52832 学习笔记 介绍,入门,与准备工作

Spring5学习笔记(10) — “JdbcTemplate的概念及准备工作”

Spring5学习笔记(10) — “JdbcTemplate的概念及准备工作”

MySQL主从介绍准备工作准备工作配置从测试主从同步

MySql准备工作

Python学习准备工作