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命令包操作
- 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