zoukankan      html  css  js  c++  java
  • mysql connection phase(未整理)

    14.2.1 初始握手
    初始握手从服务器发送 Initial_Handshake_Packet开始。在这之后,客户端可以选择是否通过SSL_Connection_Request_Packet发送SSL连接请求,
    然后客户端发送Handshake_Response_Packet.

    14.2.1.3能力协商
    为了允许低版本的客户端连到高版本的服务器,初始握手包包含:
    .MySQL服务器版本
    .服务器能力(14.2.6 Capability Flags)
    客户端应该只在Handshake_Response_Packet中声明和服务器一样的能力。
    客户端和服务器能够在以下方面达成一致:
    .status flags的使用
    .error-codes使用的SQL states
    .认证方法
    .SSL支持
    .压缩
    14.2.1.4确定认证方法
    用于认证的方法被绑定到用户账户,存在mysql.user表的plugin列。客户端在Handshake_Response_Packet包里标注它想要使用的登录账户。直到这个时候服务器才会
    查询mysql.user表找出要用的认证方法。
    然而,为了节省一些客户端和服务器之间消息的往返开销,服务器和客户端在初始握手包中已经开始了认证方法交流,使用的方法是对将要使用的认证方法的乐观猜测。
    服务器使用它的默认认证方法产生初始认证数据负载(payload)然后在Initial_Handshake_Packet包中将使用的认证方法名一起发送给客户端。
    客户端在Handshake_Response_Packet中回复的时候带上对服务器发送的认证数据的回复。

  • 相关阅读:
    【Golang基础总结】数组和切片的比较
    如何转载别人的文章
    C语言字节对齐问题详解
    幷查集拓展
    贪心
    dfs
    Trie
    哈夫曼树
    bfs
    并查集
  • 原文地址:https://www.cnblogs.com/janey/p/mysql.html
Copyright © 2011-2022 走看看