• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 详细介绍mysql 协议的EOF包及解析

详细介绍mysql 协议的EOF包及解析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql ,EOF等相关知识,希望本文的分享对您有所帮助

git

https://github.com/sea-boat/mysql-protocol

概况

mysql的EOF包用于标明查询结果的结尾。

mysql通信报文结构

类型名字描述
int<3>payload长度按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头
int<1>序列号
stringpayload报文体,长度即为前面指定的payload长度

EOF包

Payload

Type    Name    Description
int<1>  header  [fe] EOF header
if capabilities & CLIENT_PROTOCOL_41 {  
int<2>    warnings    number of warnings  
int<2>    status_flags    Status Flags
}

更多详情 : http://dev.mysql.com/doc/internals/en/packet-EOF_Packet.html

EOF包操作

  1. EOF包类

/**
 * 
 * <pre><b>mysql eof packet.</b></pre>
 * @author 
 * <pre>seaboat</pre>
 * <pre><b>email: </b>849586227@qq.com</pre>
 * <pre><b>blog: </b>http:///;/pre>
 * @version 1.0
 * @see http:///
 */public class EOFPacket extends MySQLPacket {

    public byte header = (byte) 0xfe;    
    public int warningCount;    
    public int status = 2;    
    @Override
    public void read(byte[] data) {
        MySQLMessage mm = new MySQLMessage(data);
        packetLength = mm.readUB3();
        packetId = mm.read();
        header = mm.read();
        warningCount = mm.readUB2();
        status = mm.readUB2();
    }    @Override
    public void write(ByteBuffer buffer) {        
    int size = calcPacketSize();
        BufferUtil.writeUB3(buffer, size);
        buffer.put(packetId);
        buffer.put(header);
        BufferUtil.writeUB2(buffer, warningCount);
        BufferUtil.writeUB2(buffer, status);
    }    @Override
    public int calcPacketSize() {        
    return 5;
    }    
    @Override
    protected String getPacketInfo() {        
    return "MySQL EOF Packet";
    }

}

以上就是详细介绍mysql 协议的EOF包及解析的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL essential版本和普通版本有什么区别?
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 解析远程连接管理其他机器上的MYSQL数据库
  • MySQL timestamp自动更新时间分享
  • MySQL Order by 语句用法与优化详解
  • 深入解析mysql中order by与group by的顺序问题
  • 解析mysql不重复字段值求和
  • MySql实现跨表查询的方法详解

相关文章

  • 2018-12-05php实现守护进程的两种常见方式
  • 2018-12-05VMware中Linux共享mysql数据库的方法
  • 2018-12-05MySQL性能分析及explain的使用说明
  • 2017-05-11基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • 2018-12-05myloader原理的实例讲解
  • 2018-12-05mongoDB 多重数组查询的实例介绍
  • 2018-12-05MYSQL 数据库事务再认识
  • 2018-12-05Mysql Sql语句注释大全实例分享
  • 2018-12-05SQL Server 7.0 入门(六)
  • 2017-05-11安装MySQL在最后的start service停住了解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 使用YUM在Linux下安装mysql 5.7.18的实例教程
    • 简单实现MySQL服务器的优化配置方法
    • Mysql5.7.19在Linux下卸载的方法介绍
    • mysql筛选GROUP BY多个字段组合时的用法分享
    • Oracle数据操作和控制语言详解
    • 一个单引号引发的MYSQL性能问题分析
    • MySQL数据库操作常用命令小结
    • 详解linux采用binary方式安装mysql
    • 深入Mysql字符集设置[精华结合]
    • 关于mysql create routine权限的代码实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有