mysql学习记录

建立连接

        mysql是(客户端/服务器)c/s模型,通过网络进行消息通信。客户端和服务器建立连接,首先要建立tcp连接,在进行用户和密码认证,完成之后才真正的建立mysql连接。

        1. 客户端发送connect()进行连接,服务器端接收到建连请求,创建连接的socket。mysql_server启动之后,端口处于监听状态,直到收到客户端的建连请求

        2. server发送handshake包,客户端发送用户,密码认证消息包,server端返回OK包,则是认证成功;返回error包表示认证失败,即建立连接失败

可通过抓包分析建连过程

断开连接

        

mysql协议

        1. 客户端->服务器端

               只有一种消息包,结构如下:                         

消息包中数据的长度,包括命令类型

(3个字节)

序列号

(1个字节)

命令类型

(1个字节)

包的内容

                  消息包最大的长度是0xffffff(16M - 1),所以消息包总长度最大为16M+3

         2. 服务器端->客户端

                 有3中数据包

                        a. ok包

包括命令类型

(3个字节)

序列号

(1个字节)

命令类型0x00

(1个字节)

                        b. error包

消息包中数据的长度,包括命令类型

(3个字节)

序列号

(1个字节)

命令类型0xff

(1个字节)

错误码

(2个字节)

状态

(6个字节)

错误信息

                        c. 结果集包

                                1. 字段的长度

                                        eof包

                                2. 字段信息

                                        eof包

                                3. 结果信息

                

1、删除表的索引

        alter  table tt drop index  inx_name  等价于

        alter table tt drop key inx_name

2、表重新命名

     alter table t_xxx rename tt;

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值