tombo2-progress’s diary

できるだけ毎日1時間を切り取ってここに晒す。誤字脱字気にしない。日本語が崩壊するのも気にしない。最終的にまとめて本ブログに書く

MySQLのpacketつづき

general response packet

https://dev.mysql.com/doc/internals/en/generic-response-packets.html

  • OK, [00] or [fe]
  • ERR, [ff]
  • EOF, [fe]

OKとEOFかぶってるの厄介。 これOKは[00]使われてたりしないのか? [00]はCOM_SLEEPともかぶってる、、、、

Command Phase

[00] ~ [1f]までの31種類

Connection Phase

https://dev.mysql.com/doc/internals/en/connection-phase-packets.html

Protocol::HandshakeV10の[0a]が入ってくるが、

  • 5.7.11以降ならCommand Phaseにおけるcom_process_infoは入ってこない
  • それ以前でもpayloadの長さが1なのでそれで判断

payload長が2以上の[0a]ならhandshakeと判断できる

https://dev.mysql.com/doc/internals/en/com-process-info.html#packet-COM_PROCESS_INFO