Maison >base de données >tutoriel mysql >Package de commandes d'initialisation de la base de données et analyse du protocole mysql
https://github.com/sea-boat/mysql-protocol
Connexion MySQL Si vous souhaitez modifier le schéma par défaut de la connexion, le client peut envoyer un package de commandes DB d'initialisation au serveur.
Type | Nom | Description th > | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
int5bdf4c78156c7953567bb5a0aef2fc53 | la longueur de la charge utile | est stockée en fonction de l'octet de poids faible en premier, 3 mots La charge utile de la strophe et le numéro de séquence de 1 octet sont combinés dans un en-tête de message | |||||||||||
intf35d6e602fd7d0f0edfa6f7d103c1b57 | Numéro de série |
类型 | 名字 | 描述 |
---|---|---|
int5bdf4c78156c7953567bb5a0aef2fc53 | payload长度 | 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头 |
intf35d6e602fd7d0f0edfa6f7d103c1b57 | 序列号 | |
string | payload | 报文体,长度即为前面指定的payload长度 |
Payload
1 [02] COM_INIT_DBstring[EOF] schema name
Plus de détails : http ://dev.mysql.com/doc/internals/en/com-init-db.html
Package de commandes d'initialisation
/** * * @author seaboat * @date 2016-09-25 * @version 1.0 * <pre class="brush:php;toolbar:false"><b>email: </b>849586227@qq.com*
<b>blog: </b>http://www.php.cn/;/pre> * <p>mysql init db packet.</p> */public class InitDBPacket extends MySQLPacket { public byte[] schema; public void read(byte[] data) { MySQLMessage mm = new MySQLMessage(data); packetLength = mm.readUB3(); packetId = mm.read(); mm.read(); // skip COM_INIT_DB this.schema = mm.readBytes(); } public void write(ByteBuffer buffer) { BufferUtil.writeUB3(buffer, calcPacketSize()); buffer.put(packetId); buffer.put(COM_INIT_DB); buffer.put(schema); } @Override public int calcPacketSize() { int i = 1; i += schema.length; return i; } @Override protected String getPacketInfo() { return "MySQL Init DB Packet"; } }
Ce qui précède est le package de commandes d'initialisation de la base de données et l'analyse du contenu du protocole mysql. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !