← Back to Awesome

Sections

MySQL

GitHub repository ↗ synced 2026/8/9

awesome-mysql

A curated list of awesome MySQL free and opensource software, libraries and resources. Awesome

This list accepts and encourages pull requests. See CONTRIBUTING

Contents

- [Analysis](#analysis)
- [Backup](#backup)
- [Benchmarking](#benchmarking)
- [Binlog Replication](#binlog-replication)
- [ChatOps](#chatops)
- [Configuration](#configuration)
- [Connectors](#connectors)
- [Deployment](#deployment)
- [Development](#development)
- [GUI](#gui)
- [HA](#ha)
- [MCP](#mcp)
- [Proxy](#proxy)
- [Replication](#replication)
- [Schema](#schema)
- [Security](#security)
- [Server](#server)
- [Sharding](#sharding)
- [Toolkits](#toolkits)

- [E-Books](#e-books)

Analysis

Anemometer

Box SQL slow query monitor.

innodb-ruby

A parser for InnoDB file formats, in Ruby.

innotop

a 'top' clone for MySQL with many features and flexibility.

MySQL Explain Analyzer

A web-based analyzer of `EXPLAIN FORMAT=JSON` output, providing comments, scalability analysis and permalinks for saved samples.

mysql-statsd

A Python daemon to collect information from MySQL and send it via StatsD to Graphite.

MySQLTuner-perl

A script that allows you to review a MySQL installation quickly and make adjustments to increase performance and stability.

pstop

a top-like program for MySQL, collecting, aggregating and displaying information from performance_schema.

ReliaDB EXPLAIN Analyzer

a browser-based MySQL and MariaDB EXPLAIN visualizer with issue detection, index recommendations, and query rewrites. 100% client-side.

Wireshark

a protocol analyzer that can decode the MySQL protocol.

Dolphie

a modern terminal tool for real-time analytics into MySQL/MariaDB & ProxySQL

sql-tap

Real-time SQL traffic viewer.

Performance, structure & data analysis tools

  • Prometheus/mysqld_exporter - Time series database for real-time monitoring and alerting.

Backup

Databasus

tool for scheduled MySQL backups via web UI with external storages (local, S3, FTP, Google Drive, etc.), notifications (webhook, Discord, Slack, etc.) and team management.

Dumpling

Logical, parallel backup/dumper tool for MySQL/TiDB written in GoLang - support csv format output and integrated as library

MyDumper

Logical, parallel backup/dumper tool for MySQL

Percona Xtrabackup

an open-source hot backup utility for MySQL - based servers that doesn’t lock your database during the backup.

Portabase

Agent-based platform for MySQL backups and restores with decentralized execution and centralized orchestration.

Backup/restore/recovery tools

Benchmarking

HammerDB

An open-source database benchmark for MySQL/MariaDB and other open source and commercial databases.

go-tpc

A golang port of [TPCC](http://www.tpc.org/tpcc/) and [TPCH](http://www.tpc.org/tpch/) benchmark for MySQL.

iibench-mysql

Java based version of the Index Insertion Benchmark for MySQL/Percona/MariaDB.

Sysbench

a modular, cross-platform and multi-threaded benchmark tool.

Tools to stress your servers

  • TPCC-MySQL (archived) - A port of the popular TPCC benchmark for MySQL.

Binlog-Replication

DM

A High-Availability data migration platform which supports migrating data from MySQL/MariaDB to TiDB and merging shard tables

Kingbus

A distributed MySQL binlog storage system built on Raft

  • mysql-ripple (archived) - Ripple, a server that can serve as a middleman in MySQL replication

ChatOps

Hubot MySQL ChatOps

Scripts integrated into chat rooms

Configuration

mysql-compatibility-config

make MySQL configuration behave more like newer (or older) releases of MySQL.

MySQL sample configuration and advisors

Connectors

ballerinax/mysql

Official Ballerina connector for MySQL.

DBD::MariaDB

MariaDB and MySQL driver for the Perl5 Database Interface.

DBD::mysql

MySQL driver for the Perl5 Database Interface.

go-sql-driver

a lightweight and fast MySQL-Driver for Go's (golang) database/sql package.

libAttachSQL

libAttachSQL is a lightweight, non-blocking C API for MySQL servers.

MariaDB Connector/J

LGPL-licensed MariaDB Client Library for Java Applications.

mex-mariadb

MIT licensed MariaDB/MySQL Client Library for GNU Octave and Matlab.

MySQL C API

Official C driver for MySQL.

MySQL Connector/C++

Official C/C++ driver for MySQL.

MySQL Connector/J

a standardized database driver for the Java platforms and development.

MySQL Connector/NET

a standardized database driver for .Net platforms and development.

MySQL Connector/Node.js

Official Node.js driver for MySQL.

MySQL Connector/Python

a standardized database driver for Python platforms and development.

mysqlclient-python

MySQL database connector for Python.

node-mysql

A pure Nodejs Javascript client implementing the MySQL protocol.

PHP mysqlnd

MySQL native driver for PHP.

PyMySQL

MySQL database connector for Python.

Ruby Mysql2 gem

MySQL driver for Ruby and Rails projects.

MyZql

MySQL and MariaDB driver in native Zig.

wtx

Client for MySQL/MariaDB/Percona written in Rust

MySQL connectors for various programming languages

Deployment

MariaDB4j

A Java launcher to run MariaDB without installation or external dependencies.

MySQL deployment tools

Development

Flywaydb

Database migrations; Evolve your database schema easily and reliably across all your instances

dbsafe

Pre-execution safety analysis for MySQL DDL/DML operations

Liquibase

Source control for your database

Shift

An application that helps you run schema migrations on MySQL databases

Skeema

Declarative pure-SQL schema management system for MySQL and MariaDB, with support for sharding and external online schema change tools

SQLE

SQLE is a SQL audit platform for DBA or developer

Test database

A sample MySQL database with an integrated test suite, used to test applications and servers

cover_me

code coverage tool for mysql stored procedures and functions

Tools to support MySQL-related development

GUI

Adminer

Database management in a single PHP file.

DBeaver

A cross-platform SQL and NoSQL database client.

HeidiSQL

MySQL GUI frontend for Windows.

ILLA Cloud

Low-code internal tool builder integrated with Mysql, can be used as GUI for Mysql.

mycli

A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.

MySQL Shell

Advanced client and code editor for MySQL that supports development and administration for the MySQL Server and MySQL InnoDB cluster (AdminAPI) with an interactive JavaScript, Python, or SQL interface.

MySQL Workbench

provides DBAs and developers an integrated tools environment for database design & modeling; SQL devleopment; database administration.

Ocelot GUI

GUI client for MySQL or MariaDB, including debugger.

OmniDB: Web tool for database management
Percona Monitoring and Management

An open-source platform for managing and monitoring MySQL performance.

phpMyAdmin

a free software tool written in PHP, intended to handle the administration of MySQL over the Web.

pspg

provides a pager with enhanced visualization and navigation for tabular data. Originally implemented for PostgreSQL, but also supports MySQL.

Sequel Ace

a Mac database management application for working with MySQL databases.

TablePro

Native macOS client for MySQL and many other databases with inline editing, SSH tunneling, and AI assistant. Free and open-source.

SQLyog Community edition

SQLyog Community edition. For Windows, works fine under wine in Mac and Linux

squix

SQL command-line client with query management and interactive results.

GUI frontends & applications

  • WebDB – Open Source and Efficient Database IDE. Featuring Easy server connection, Modern ERD, Intelligent data generator, AI assistant, NoSQL structure manager, Time machine and Powerful query editor

HA

Galera Cluster

a true Multimaster Cluster based on synchronous replication.

Percona Replication Manager

Asynchronous MySQL replication manager agent for Pacemaker. Supports file and GTID based replication, geo-distributed clusters using booth.

replication-manager

a high availability solution to manage MariaDB 10.x and MySQL & Percona Server 5.7 GTID replication topologies.

High availability solutions

  • mha4mysql-node and mha4mysql-manager (both unmaintained) - Master High Availability Manager and tools for MySQL.
  • Orchestrator (archived) - MySQL replication topology management and High Availability solution.

MCP

MCP MariaDB Server

the official MariaDB MCP server.

MySQL MCP Server

Advanced MCP server exposing MySQL via the Model Context Protocol

TiDB MCP Server

MCP Server for TiDB.

Proxy

MySQL Router

MySQL Router is part of InnoDB cluster, and is a lightweight middleware that provides transparent routing between your application and back-end MySQL Servers.

ProxySQL

High performance proxy for MySQL.

Proxies to MySQL

Replication

Replication related software

  • data-diff (archived) - Command-line tool and Python library to efficiently diff rows across two different databases.

Schema

common_schema

DBA's framework for MySQL, providing a function library, views library and QueryScript interpreter.

Add-on schemas

  • sys (archived) - A collection of views, functions and procedures to help MySQL administrators get insight in to MySQL Database usage. See sys schema docs

Security

Acra

SQL database protection suite: strong selective encryption, SQL injections prevention, intrusion detection system.

myanon

Streaming anonymizer for MySQL dump files, reading mysqldump output from stdin and writing anonymized data to stdout. Supports deterministic hashing, fixed values, JSON field anonymization, and Python extensions.

myldapsync

Synchronize MySQL or MariaDB users with users in an LDAP directory.

Tools that prevents leaking of sensitive data from database (encryption, masking and tokenization, honey-pots, etc)

Server

MariaDB

Community developed fork of MySQL server.

MySQL Server & MySQL Cluster

Official Oracle's MySQL server & MySQL Cluster distribution.

MyVector

Native vector search plugin for MySQL, shipped as a server plugin.

Percona Server

An enhanced, drop-in MySQL replacement.

TiDB

A distributed HTAP database compatible with the MySQL protocol.

MySQL server flavors

Sharding

Jetpants

An automation suite for managing large range sharding clusters, by Tumblr.

Vitess

vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

Sharding solutions/frameworks

Toolkits

gh-ost

GitHub's online schema migration for MySQL.

go-mysql

A pure go library to handle MySQL network protocol and replication.

Percona Toolkit

a collection of advanced command-line tools to perform a variety of MySQL server and system tasks that are too difficult or complex to perform manually.

sql-splitter

High-performance CLI for splitting, merging, converting, validating, and sampling mysqldump files.

Swoof

Ultra fast MySQL table importer that stages swaps through temporary tables and supports file/clipboard targets.

Toolkits, general purpose scripts

  • MySQL Utilities (deprecated) - a collection of command-line utilities, written in Python, that are used for maintaining and administering MySQL servers, either individually, or within Replication hierarchies.
  • UnDROP (archived) - a tool to recover data from dropped or corrupted InnoDB tables.

Resources

At this stage "resources" will not include websites, blogs, slides, presentation videos, etc. in fear of list size

e-books

Database Systems Lecture Notes

lecture notes on Database Systems (available in pdf, html, odt and markdown) including a Chapter on SQL that covers basic set-up, exercises and problems.

SQL-exercise

contains several SQL exercises, including the schema description figure, SQL code to build schema, questions and solutions in SQL. Based on wikibook [SQL Exercises](https://en.wikibooks.org/wiki/SQL_Exercises).

e-books as well as relevant materials on and around MySQL

Incubating

VillageSQL

A drop-in replacement for MySQL with extensions for the agentic AI era.

Projects that are known to be non-production and yet have either traction or substance that warrants exposure.