mysql 協議的錯誤包及解析

2021-09-22 22:23:17 字數 1864 閱讀 7794

mysql客戶端與mysql服務端互動過程中,如果服務端遇到錯誤需要告知客戶端則返回錯誤包。

型別名字

描述int<3>

payload長度

按照the least significant byte first儲存,3個位元組的payload和1個位元組的序列號組合成報文頭

int<1>

序列號string

payload

報文體,長度即為前面指定的payload長度

payload

type

name

description

int<1>

header

[ff] header of the err packet

int<2>

error_code

error-code

if capabilities & client_protocol_41

string

error_message

human readable error message

更多詳情 :

錯誤包類

/**

* *@author seaboat

*@date 2016-09-25

*@version 1.0

*email:[email protected]

*
blog:
* mysql error packet.

*/public

class

errorpacket

extends

mysqlpacket

message = mm.readbytes();

}public

void

write(bytebuffer buffer)

@override

public

intcalcpacketsize()

return size;

}@override

protected string getpacketinfo()

}

十六進製制轉換工具

/**

* *@author seaboat

*@date 2016-09-25

*@version 1.0

*email:[email protected]

*
blog:
* hex transform util.

*/public

class

hexutil

return

new string(buff);

}public

static string str2hexstr(string str)

return sb.tostring();

}}

錯誤包生成測試

/**

* *@author seaboat

*@date 2016-09-25

*@version 1.0

*email:[email protected]

*
blog:
* test auth packet.

*/public

class

errorpackettest

}

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

鄙人的新書《tomcat核心設計剖析》已經在京東銷售了,有需要的朋友可以到 進行預定。感謝各位朋友。

為什麼寫《tomcat核心設計剖析》

mysql 協議的query包及解析

mysql客戶端可以用query包向服務端傳送乙個基於文字查詢。型別名字 描述int 3 payload長度 按照the least significant byte first儲存,3個位元組的payload和1個位元組的序列號組合成報文頭 int 1 序列號string payload 報文體,...

mysql 協議的query包及解析

mysql客戶端可以用query包向服務端傳送乙個基於文字查詢。型別名字 描述int 3 payload長度 按照the least significant byte first儲存,3個位元組的payload和1個位元組的序列號組合成報文頭 int 1 序列號string payload 報文體,...

mysql 協議的ping命令包及解析詳解及例項

mysql 協議的ping命令包及解析詳解 前言 mysql客戶端可以用ping命令來檢查服務端的狀態,正常會返回ok包。mysql通訊報文結構 型別名字 描述int 3 payload長度 按照the least significant byte first儲存,3個位元組的payload和1個位...