mysql 认证 多少_Mysql 认证步骤

一、建立连接

1、使用系统的socket函数建立一个socket

2、使用这个socket初始化一个vio对象

net->vio= vio_new(sock, VIO_TYPE_TCPIP, VIO_BUFFERED_READ);

3、对这个socket执行connect操作,连接到远程主机

4、使用vio初始化net对象

my_net_init(net, net->vio)

并设置为keep alive

vio_keepalive(net->vio,TRUE);

二、第一次交换

客户端执行recv,会收到一个来自server的包,其中第一个字节是协议的版本号。

其它的重要信息还有connection id、scramble

41 00 00 00

0A 35 2E 30 2E 32 30 2D 73 74 61 6E 64 61 72 64 2D 6C 6F 67 00 44 8E 4E 00 5A 66 72 2A 79 43 24 27 00 2C A2 08 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 36 7B 29 58 5E 50 56 41 21 7C 73 4C 00

其格式如下:

1                            协议的版本号 (0×0A)

n (Null-Terminated String)   服务器版本

4                            thread_id

8                            scramble_buff

1                            (填充) 永远是 0×00

2                            server_capabilities

1                            server_language

2                            server_status

13                           (填充) 永远是 0×00 …

13                           scramble_buff剩余的部分 (4.1)

三、然后客户端将密码等发送过去

客户端根据服务器发给的scramble加密,并存放在scramble_buff中发给服务器

发送登录数据:

00000000        3A 00 00 01 85 A6 03 00 00 00 00 01 08 00 00 00

00000010        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00000020        00 00 00 00 72 6F 6F 74 00 14 00 00 00 00 00 00

00000030        00 00 00 00 00 00 00 00 00 00 00 00 00 00

Bytes                        Name

—–                        —-

4                            client_flags

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值