• TCP/IP连接
  • 命名管道
  • 共享内存
  • UNIX域套接字

    TCP/IP连接

  • TCP/IP连接是MySQL在任何平台上都提供的链接方式。

MySQL TCP通讯协议

  • 三次握手建立TCP链接
  • 认证连接
  • 认证通过之后,客户端开始与服务端的通信
  • 断开MySQL连接
  • 四次握手断开TCP连接

    认证连接

  • 服务端 -> 客户端:发送握手初始化包

  • 客户端 -> 服务端:发送验证
  • 服务端 -> 客户端:认证结果消息

命令执行

  • 客户端 -> 服务端:发送命令包(Command Packet)
  • 服务端 -> 客户端:发送回应包

断开连接

  • 客户端 -> 服务器:发送退出命令包

MySQL TCP报文格式

image.png

  • 消息头:3字节报文长度、1字节序号
  • 消息体:1字节指令、其余为参数
  • 指令举例:切换数据库(0x02)、查询命令(0x03)

    总结

  • TCP/IP 链接是MySQL最常用的链接方式

  • TCP/IP 连接报文可以作为其他C/S架构的参考