MySQL client server 協議

aoerqileng發表於2022-04-15

之前也是看過官方文件上面關於client server協議的介紹,總是感覺比較晦澀,看過不久就會忘記,所以寫了程式碼驗證理解下。之前寫過系統表空間檔案解析,感覺通訊協議跟資料儲存的解析差不多,都是透過規定的方式將位元組陣列轉化成對應的資料。編寫了一個go 版本的mysql客戶端,資料都是採用的最簡單的。 程式碼連結如下。


效果如下

go run main.go -h 127.0.0.1. -p 20996
Welcome to the Go MySQL CLI.  Commands end with ;
Type your command > select * from test.dba_test;
Type your command  > 
id      |name   |sex    |c      |d      |d1     |d2     |
4       ii      null    null    null    null    null
5       dd      null    null    null    null    null
6       dd      null    null    null    null    null
7       dd      null    null    null    null    null
8       dd      null    null    null    null    null
5       dd      null    null    null    null    null
90      aa      null    null    null    null    null
11      rr      null    null    null    null    null
12      gg      null    null    null    null    null
13      cc      null    null    null    null    null
15      ddd     null    null    null    null    null
15      ddd     null    null    null    null    null
16      cccc    null    null    null    null    null
Type your command  > exit


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25719946/viewspace-2887285/,如需轉載,請註明出處,否則將追究法律責任。

相關文章