go-mysql-proxy icon indicating copy to clipboard operation
go-mysql-proxy copied to clipboard

MySQL Proxy Journey

trafficstars

go-mysql-proxy

This repository is a result of writing serie of articles Writing MySQL Proxy that I'm posting on Medium website.

1 - Writing MySQL Proxy in GO for self-learning: Part 1 — TCP Proxy 2 - Writing MySQL Proxy in GO for self-learning: Part 2 — decoding handshake packet

The main goal is to learn the MySQL Protocol by implementing it.

The plan:

  • [x] Implement TCP Proxy as a starting point
  • [ ] Implement state machine
  • [ ] Implement query/query data buffering
  • [ ] Implement plugins

Packets decode/encode todo:

  • [x] Handshake Packet
  • [ ] Authorization Packet

go version go1.12.9

To try it, just clone, and run:

go run .