The go-mysql is a database framework for implementing a MySQL-compatible server using Go easily.
The go-mysql handles MySQL protocol and interprets the major messages automatically so that all developers can develop MySQL-compatible servers easily. Since the go-mysql handles all system commands automatically, developers can easily implement their MySQL-compatible server only by simply handling DDL (Data Definition Language) and DML (Data Manipulation Language) query commands.
The go-mysqld provides a implementation framework of authentication and query handlers for MySQL protocol.The go-mysqld makes it possible to implement your original MySQL-compatible servers more easily.
In the past, go-mysql was based on Vitess which is a sharding framework for MySQL, but since version 1.1 the protocol layer and parser have been implemented independently and no longer depend on Vitess. The protocol handler has been re-implemented independently to support good extensions for both MySQL and MariaDB, and its SQL parser is based on go-sqlparser, aiming to support SQL92 compliant queries.
The go-mysql is developed in collaboration with the following Cybergarage projects:
