MySQL通讯协议(3)连接阶段
[TOC] MySQL通讯协议(3)连接阶段 MySQL 连接生命周期 graph TD A[开始] --> |连接|B(ConnectionState) B --> |认证成功|C(CommandState) C --> |复制命令|D(ReplicationMode) B --> |复制命令|D B --> |错误或断开|End C --> |关闭连接|End D --> |关闭连接|End[结束] MySQL连接是有状态的,当服务接通后,首先会进入连接状态,进行认证,如交换信息、认证账号密码等。认证成功后,进入命令阶段,提交命令接受响应。同时,在连接阶段和命令阶段受到复制命令,都可以进入复制模式。 连接阶段 连接阶段主要做三件事: 交换客户机和服务器的支持的功能 如果需要,设置SSL通信通道 服务器对客户端进行身份认证 Plain Handshake 1, Initial Handshake Packet 连接建立之后,服务端先发送初始握手包。以最新的HandshakeV10为例: Type Name Description int<1> protocol version 协议版本:10 string[NUL] server version 易读的服务器版本 int<4> thread id 连接id string[8] auth-plugin-data-part-1