1. 程式人生 > >mysql 協議的FieldList命令包及解析

mysql 協議的FieldList命令包及解析

git

概況

當mysql客戶端使用show column命令時即對應這個FieldList命令包。

mysql通訊報文結構

型別 名字 描述
int<3> payload長度 按照the least significant byte first儲存,3個位元組的payload和1個位元組的序列號組合成報文頭
int<1> 序列號
string payload 報文體,長度即為前面指定的payload長度

FieldList命令包

Payload

1              [04
] COM_FIELD_LIST string[NUL] table string[EOF] field wildcard

FieldList命令包操作

  1. FieldList命令包類
/**
 * 
 * <pre><b>mysql field list packet.</b></pre>
 * @author 
 * <pre>seaboat</pre>
 * <pre><b>email: </b>[email protected]</pre>
 * <pre><b>blog: </b>http://blog.csdn.net/wangyangzhizhou</pre>
 * @version
1.0 * @see http://dev.mysql.com/doc/internals/en/com-field-list.html */
public class FieldListPacket extends MySQLPacket { public byte flag; public byte[] table; public byte[] fieldWildcard; @Override public void read(byte[] data) { MySQLMessage mm = new MySQLMessage(data); packetLength = mm.readUB3(); packetId = mm.read(); flag = mm.read(); table = mm.readBytesWithNull(); fieldWildcard = mm.readBytes(); } @Override
public void write(ByteBuffer buffer) { BufferUtil.writeUB3(buffer, calcPacketSize()); buffer.put(packetId); buffer.put(COM_FIELD_LIST); BufferUtil.writeWithNull(buffer, table); buffer.put(fieldWildcard); } @Override public int calcPacketSize() { int i = 1; i += table.length + 1; i += fieldWildcard.length; return i; } @Override protected String getPacketInfo() { return "MySQL Field List Packet"; } }

========廣告時間========

=========================

相關推薦

mysql 協議FieldList命令解析

git 概況 當mysql客戶端使用show column命令時即對應這個FieldList命令包。 mysql通訊報文結構 型別 名字 描述 int<3> payload長度 按照the le

解決mysql的cmd命令錯誤2003連線錯誤

一、環境 系統環境:win7 軟體環境:MySQL Server 5.5與 SQLyog 12.3.1 或者SQLyog Enterprise 二、錯誤型別及解決方案 1. 錯誤1: cmd命令啟動mysql出錯 解決:當前許可權不夠,導致出錯。輸入cm

Linux系統入門之命令學習解析(二)

Linux常用目錄 以下是系統的一級目錄,這些目錄在Linux系統中都有著不同的用處。 /  Linux系統根目錄(重要,常用) /home  包含使用者的檔案:引數設定、個性檔案、文件、資料、EMAIL、快取資料等,每增加一個使用者,系統就會在home目錄下

bat 常用命令大全 解析

 一.簡單批處理內部命令簡介 1.Echo 命令 打開回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。   語法 echo [{on│off}] [message] Sample:@echo off / echo hel

MySQL 相關知識細節解析

開始 細節 strong 相關 方式 新建 delet 使用 mysql 1,刪除表中所有記錄使用delete from 表名;還是用truncate table 表名 刪除方式:delete 一條一條刪除,不清空auto_increment記錄數

Yarn命令使用wordcount解析

Hadoop Yarn 前言: 前面幾篇博客主要介紹了MapReduce與Yarn的架構設計及簡單工作流程,本篇文章將以wordcount程序為例,簡單介紹下Yarn的使用。 1.wordcount示例運行 [root@hadoop000 ~]# su - hadoop [hadoop@hadoo

tcp協議下粘問題的產生解決方案

ont phone 系統 pac 接收 實的 msg 來源 erro 1、粘包產生原因: (1)TCP為提高傳輸效率,發送方往往要收集到足夠多的數據後才發送一個TCP段。若連續幾次需要send的數據都很少,通常TCP會根據優化算法(Nagle)把這些數據合成一個TCP段後一

mysql協議分析2---認證

主人看到navicat和mysql在那嘻嘻哈哈,眉來眼去的,好不快樂,忽然也想自己寫個程式,直接去訪問Mysql,雖然現在已經有很多現成的中介軟體可以直接拿來用了,程式只要負責寫sql語句就行了,但是主人想要自己通過mysql協議直接和mysql通訊,一窺究竟。於是主人找到Mysql說:親愛的mysql,我以

協議按位賦值解析總結

  技術在於交流、溝通,轉載請註明出處並保持作品的完整性。 原文:https://blog.csdn.net/hiwubihe/article/details/80736848   在協議開發時,經常需要按位賦值,如開發PS流封裝時有一段PTS值賦值如下

CCP協議學習-命令解析

參考文件《ASAM-CCP-V2.1.0》     12指令描述 在本章中,將解釋所有帶有引數的命令和預期的返回資訊,包括每個命令的示例。 12.1 連線 指令標籤CONNECT CRO中的資料結構 位置 型

ros如何抓取資料如何解析中資料

從小車抓資料包 小車自動作業後或執行後,先source 環境 A: source cleaner/workspace_a/app_pkg/setup.bash B: rosbag record –o bagwang /scan 這個將topic scan中的所有內容都存

OSPF協議配置命令解析

一,ospf命令 命令功能 ospf命令用來建立並執行OSPF程序。 undo ospf命令用來關閉OSPF程序。 預設情況下,系統不執行OSPF協議,即不執行OSPF程序。 2.命令格式 ospf I process-id I router-id router-id] undo ospf

解析Mysql 主從同步延遲原理解決方案

  MySQL的主從同步是一個很成熟的架構,優點為:①在從伺服器可以執行查詢工作(即我們常說的讀功能),降低主伺服器壓力;②在從主伺服器進行備份,避免備份期間影響主伺服器服務;③當主伺服器出現問題時,可以切換到從伺服器。 相信大家對於這些好處已經非常瞭解了,在專案的部署中也採用

官網下載mysql的jar匯入到java專案中

mysqlJDBC的下載地址: https://dev.mysql.com/downloads/connector/j/ windows下載:   如上圖,windows系統直接下.zip檔案。 下一步是把jar包弄到java專案裡,這裡以Eclipse為例:

串列埠協議的制定以及串列埠中怎樣接收一個完整資料解析

裡以串列埠作為傳輸媒介,介紹下怎樣來發送接收一個完整的資料包。過程涉及到封包與解包。設計一個良好的包傳輸機制很有利於資料傳輸的穩定性以及正確性。串列埠只是一種傳輸媒介,這種包機制同時也可以用於SPI,I2C的匯流排下的資料傳輸。在微控制器通訊系統(多機通訊以及PC與微控制器

MysqlProtocolAnalyzer一個Java實現的MySql協議解析

MysqlProtocolAnalyzer MysqlProtocolAnalyzer 是一個對Mysql的通訊協議的包進行解析的庫,純java編寫,輸入檔案可以是任意的16進位制的網路資料包文字檔案,當然需要一定的預處理才能使用。本庫是預設處理的是tcpdu

Golang: 使用flag進行命令列引數解析

最近在使用go開發cli(command-line-interface)時,通過對於官方文件以及他人部落格的學習,在此寫下個人認為更適合自己往後回顧的關於flag的使用說明。 工欲善其事必先利其器,先奉上flag官方文件解析 Demo0: pack

【轉】JAR檔案命令的使用

1.   JAR   檔案包      JAR   檔案就是   Java   Archive   File,顧名思意,它的應用是與   Java   息息相關的,是   Java   的一種文件格式。JAR   檔案非常類似   ZIP   檔案——準確的說,它就是  

jar檔案jar命令詳解

JAR檔案包及jar命令詳解常常在網上看到有人詢問:如何把 java 程式編譯成 .exe 檔案。通常回答只有兩種,一種是製作一個可執行的 JAR 檔案包,然後就可以像.chm 文件一樣雙擊運行了;而另一種是使用 JET 來進行 編譯。但是 JET 是要用錢買的,而且據說 J

使用Apache commons-cli進行命令列引數解析

Apache的commons-cli包是專門用於解析命令列引數格式的包。 依賴: <dependency> <groupId>commons-cli</groupId> <artifactId&g