vapor/mysql-nio

Server-side Handler

kirmorozov opened this issue · 1 comments

We have an outstanding client here.
Encoding, decoding is here.

Applications:

  • Mysql to other db proxy
  • Fake/mock database. prevent alterations.
  • Personal data filtering proxy, etc
  • Access other resources using Mysql protocol, which is very well adopted.

Solution
Provide server-side handler

Describe alternatives you've considered
Implementations from other languages
https://github.com/jonhoo/msql-srv Rust
https://github.com/kelsin/mysql-mimic Python
https://github.com/ClickHouse/ClickHouse/blob/fbff52847cf591ff0617721cd3483ccadc313634/src/Server/MySQLHandler.h c++

Similar implementations
https://github.com/jonhoo/msql-srv/blob/master/examples/psql_as_mysql.rs

This feature could be very interesting for my application (historical weather API to serve a lot of data and reuse existing data visualisation tools with MySQL support).

Are there any good starting points? Any larger roadblocks in sight? Add encode/decode functionality to all MySQL binary messages, setup the channel handler and hope for the best? ;-)