[[
wikihub
]]
Search
⌘K
Explore
People
For Agents
Sign in
Explore
People
For Agents
Sign in
@harrisonqian / Awesome / wiki/databases/mysql.md
Suggest edit
Cancel
Submit suggestion
Title
Name
Note
--- visibility: public --- # MySQL **repo:** [shlomi-noach/awesome-mysql](https://github.com/shlomi-noach/awesome-mysql) **category:** [[databases|Databases]] **related:** [[php|PHP]] · [[laravel|Laravel]] · [[mongodb|Mongodb]] · [[postgresql|Postgresql]] · [[cassandra|Cassandra]] --- # awesome-mysql A curated list of awesome MySQL free and opensource software, libraries and resources. [](https://github.com/sindresorhus/awesome) This list accepts and encourages pull requests. See [CONTRIBUTING](https://github.com/shlomi-noach/awesome-mysql/blob/master/CONTRIBUTING.md) ### Contents - [Awesome MySQL](#[awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome)-mysql) - [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) - [Resources](#resources) - [E-Books](#e-books) ## Analysis *Performance, structure & data analysis tools* - [Anemometer](https://github.com/box/Anemometer) - Box SQL slow query monitor. - [innodb-ruby](https://github.com/jeremycole/innodb_ruby) - A parser for InnoDB file formats, in [Ruby](/@harrisonqian/awesome/wiki/programming-languages/ruby). - [innotop](https://github.com/innotop/innotop) - a 'top' clone for MySQL with many features and flexibility. - [MySQL Explain Analyzer](https://github.com/Preetam/explain-analyzer) - A web-based analyzer of `EXPLAIN FORMAT=[JSON](/@harrisonqian/awesome/wiki/miscellaneous/json)` output, providing comments, [scalability](/@harrisonqian/awesome/wiki/front-end-development/scalability) analysis and permalinks for saved samples. - [mysql-statsd](https://github.com/db-art/mysql-statsd) - A [Python](/@harrisonqian/awesome/wiki/programming-languages/python) daemon to collect information from MySQL and send it via StatsD to Graphite. - [MySQLTuner-perl](https://github.com/major/MySQLTuner-perl) - A script that allows you to review a MySQL installation quickly and make adjustments to increase performance and stability. - [Prometheus](https://github.com/prometheus/prometheus)/[mysqld_exporter](https://github.com/prometheus/mysqld_exporter) - Time series [database](/@harrisonqian/awesome/wiki/databases/database) for real-time monitoring and alerting. - [pstop](https://github.com/sjmudd/ps-top) - a top-like program for MySQL, collecting, aggregating and displaying information from performance_schema. - [Wireshark](https://gitlab.com/wireshark/wireshark/) - a protocol analyzer that can decode the MySQL protocol. - [Dolphie](https://github.com/charles-001/dolphie) - a modern terminal tool for real-time [analytics](/@harrisonqian/awesome/wiki/miscellaneous/analytics) into MySQL/MariaDB & ProxySQL - [sql-tap](https://github.com/mickamy/sql-tap) - Real-time SQL traffic viewer. ## Backup *Backup/restore/recovery tools* - [Databasus](https://github.com/databasus/databasus) - tool for scheduled MySQL backups via web UI with external storages (local, S3, FTP, Google Drive, etc.), notifications (webhook, Discord, [Slack](/@harrisonqian/awesome/wiki/work/slack), etc.) and team management. - [Dumpling](https://github.com/pingcap/tidb/tree/master/dumpling) - Logical, parallel backup/dumper tool for MySQL/TiDB written in GoLang - support csv format output and integrated as library - [MyDumper](https://github.com/mydumper/mydumper) - Logical, parallel backup/dumper tool for MySQL - [Percona Xtrabackup](https://github.com/percona/percona-xtrabackup) - an open-source hot backup utility for MySQL - based servers that doesn’t lock your [database](/@harrisonqian/awesome/wiki/databases/database) during the backup. - [Portabase](https://github.com/Portabase/portabase) - Agent-based platform for MySQL backups and restores with decentralized execution and centralized orchestration. ## Benchmarking *Tools to stress your servers* - [HammerDB](https://github.com/TPC-Council/HammerDB) - An open-source [database](/@harrisonqian/awesome/wiki/databases/database) benchmark for MySQL/MariaDB and other open source and commercial databases. - [go-tpc](https://github.com/pingcap/go-tpc) - A golang port of [TPCC](http://www.tpc.org/tpcc/) and [TPCH](http://www.tpc.org/tpch/) benchmark for MySQL. - [iibench-mysql](https://github.com/tmcallaghan/iibench-mysql) - [Java](/@harrisonqian/awesome/wiki/programming-languages/java) based version of the Index Insertion Benchmark for MySQL/Percona/MariaDB. - [Sysbench](https://github.com/akopytov/sysbench) - a modular, [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) and multi-threaded benchmark tool. - [TPCC-MySQL](https://github.com/Percona-Lab/tpcc-mysql) (archived) - A port of the popular [TPCC](http://www.tpc.org/tpcc/) benchmark for MySQL. ## Binlog-Replication - [DM](https://github.com/pingcap/tiflow) - A High-Availability data migration platform which supports migrating data from MySQL/MariaDB to TiDB and merging shard tables - [Kingbus](https://github.com/flike/kingbus) - A distributed MySQL binlog storage system built on Raft - [mysql-ripple](https://github.com/google/mysql-ripple) (archived) - [Ripple](/@harrisonqian/awesome/wiki/decentralized-systems/ripple), a server that can serve as a middleman in MySQL replication ## ChatOps *Scripts integrated into chat rooms* - [Hubot MySQL ChatOps](https://github.com/samlambert/hubot-mysql-chatops) ## Configuration *MySQL sample configuration and advisors* - [mysql-compatibility-config](https://github.com/morgo/mysql-compatibility-config) - make MySQL configuration behave more like newer (or older) releases of MySQL. ## Connectors *MySQL connectors for various programming languages* - [ballerinax/mysql](https://github.com/ballerina-platform/module-ballerinax-mysql) - Official Ballerina connector for MySQL. - [DBD::MariaDB](https://github.com/perl5-dbi/DBD-MariaDB) - MariaDB and MySQL driver for the Perl5 [Database](/@harrisonqian/awesome/wiki/databases/database) Interface. - [DBD::mysql](https://github.com/perl5-dbi/DBD-mysql) - MySQL driver for the Perl5 [Database](/@harrisonqian/awesome/wiki/databases/database) Interface. - [go-sql-driver](https://github.com/go-sql-driver/mysql) - a lightweight and fast MySQL-Driver for Go's (golang) [database](/@harrisonqian/awesome/wiki/databases/database)/sql package. - [libAttachSQL](https://github.com/libattachsql/libattachsql) - libAttachSQL is a lightweight, non-blocking C API for MySQL servers. - [MariaDB Connector/J](https://github.com/mariadb-corporation/mariadb-connector-j) - LGPL-licensed MariaDB Client Library for [Java](/@harrisonqian/awesome/wiki/programming-languages/java) Applications. - [mex-mariadb](https://github.com/markuman/mex-mariadb) - MIT licensed MariaDB/MySQL Client Library for GNU Octave and Matlab. - [MySQL C API](https://dev.mysql.com/downloads/c-api/) - Official C driver for MySQL. - [MySQL Connector/C++](https://github.com/mysql/mysql-connector-cpp) - Official C/C++ driver for MySQL. - [MySQL Connector/J](https://github.com/mysql/mysql-connector-j) - a standardized [database](/@harrisonqian/awesome/wiki/databases/database) driver for the [Java](/@harrisonqian/awesome/wiki/programming-languages/java) platforms and development. - [MySQL Connector/NET](https://github.com/mysql/mysql-connector-net) - a standardized [database](/@harrisonqian/awesome/wiki/databases/database) driver for .Net platforms and development. - [MySQL Connector/Node.js](https://github.com/mysql/mysql-connector-nodejs) - Official [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js) driver for MySQL. - [MySQL Connector/Python](https://github.com/mysql/mysql-connector-python) - a standardized [database](/@harrisonqian/awesome/wiki/databases/database) driver for [Python](/@harrisonqian/awesome/wiki/programming-languages/python) platforms and development. - [mysqlclient-python](https://github.com/PyMySQL/mysqlclient) - MySQL [database](/@harrisonqian/awesome/wiki/databases/database) connector for [Python](/@harrisonqian/awesome/wiki/programming-languages/python). - [node-mysql](https://github.com/mysqljs/mysql) - A pure Nodejs [Javascript](/@harrisonqian/awesome/wiki/programming-languages/javascript) client implementing the MySQL protocol. - [PHP mysqlnd](https://www.php.net/manual/en/book.mysqlnd.php) - MySQL native driver for PHP. - [PyMySQL](https://github.com/PyMySQL/PyMySQL) - MySQL [database](/@harrisonqian/awesome/wiki/databases/database) connector for [Python](/@harrisonqian/awesome/wiki/programming-languages/python). - [Ruby Mysql2 gem](https://github.com/brianmario/mysql2) - MySQL driver for [Ruby](/@harrisonqian/awesome/wiki/programming-languages/ruby) and [Rails](/@harrisonqian/awesome/wiki/back-end-development/rails) projects. - [MyZql](https://github.com/speed2exe/myzql) - MySQL and MariaDB driver in native Zig. - [wtx](https://github.com/c410-f3r/wtx) - Client for MySQL/MariaDB/Percona written in [Rust](/@harrisonqian/awesome/wiki/programming-languages/rust) ## Deployment *MySQL deployment tools* - [MariaDB4j](https://github.com/MariaDB4j/MariaDB4j) - A [Java](/@harrisonqian/awesome/wiki/programming-languages/java) launcher to run MariaDB without installation or external dependencies. ## Development *Tools to support MySQL-related development* - [Flywaydb](https://github.com/flyway/flyway) - [Database](/@harrisonqian/awesome/wiki/databases/database) migrations; Evolve your database schema easily and reliably across all your instances - [dbsafe](https://github.com/nethalo/dbsafe) - Pre-execution safety analysis for MySQL DDL/DML operations - [Liquibase](https://github.com/liquibase/liquibase) - Source control for your [database](/@harrisonqian/awesome/wiki/databases/database) - [Shift](https://github.com/square/shift) - An application that helps you run schema migrations on MySQL databases - [Skeema](https://github.com/skeema/skeema) - Declarative pure-SQL schema management system for MySQL and MariaDB, with support for sharding and external online schema change tools - [SQLE](https://github.com/actiontech/sqle/blob/main/README_en.md) - SQLE is a SQL audit platform for DBA or developer - [Test database](https://github.com/datacharmer/test_db) - A sample MySQL [database](/@harrisonqian/awesome/wiki/databases/database) with an integrated test suite, used to test applications and servers - [cover_me](https://github.com/verizonconnect/database-development) - code coverage tool for mysql stored procedures and functions ## GUI *GUI frontends & applications* - [Adminer](https://github.com/vrana/adminer/) - [Database](/@harrisonqian/awesome/wiki/databases/database) management in a single PHP file. - [DBeaver](https://github.com/dbeaver/dbeaver/) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) SQL and NoSQL [database](/@harrisonqian/awesome/wiki/databases/database) client. - [HeidiSQL](https://github.com/HeidiSQL/HeidiSQL) - MySQL GUI frontend for [Windows](/@harrisonqian/awesome/wiki/platforms/windows). - [ILLA Cloud](https://github.com/illacloud/illa-builder) - Low-code internal tool builder integrated with Mysql, can be used as GUI for Mysql. - [mycli](https://github.com/dbcli/mycli) - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting. - [MySQL Shell](https://github.com/mysql/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](/@harrisonqian/awesome/wiki/programming-languages/javascript), [Python](/@harrisonqian/awesome/wiki/programming-languages/python), or SQL interface. - [MySQL Workbench](https://github.com/mysql/mysql-workbench) - provides DBAs and developers an integrated tools environment for [database](/@harrisonqian/awesome/wiki/databases/database) design & modeling; SQL devleopment; database administration. - [Ocelot GUI](https://github.com/ocelot-inc/ocelotgui) - GUI client for MySQL or MariaDB, including debugger. - [OmniDB: Web tool for [database](/@harrisonqian/awesome/wiki/databases/database) management](https://github.com/OmniDB/OmniDB) - [Percona Monitoring and Management](https://github.com/percona/pmm) - An open-source platform for managing and monitoring MySQL performance. - [phpMyAdmin](https://github.com/phpmyadmin/phpmyadmin) - a [free software](/@harrisonqian/awesome/wiki/miscellaneous/free-software) tool written in PHP, intended to handle the administration of MySQL over the Web. - [pspg](https://github.com/okbob/pspg) - provides a pager with enhanced visualization and navigation for tabular data. Originally implemented for [PostgreSQL](/@harrisonqian/awesome/wiki/databases/postgresql), but also supports MySQL. - [Sequel Ace](https://github.com/Sequel-Ace/Sequel-Ace) - a Mac [database](/@harrisonqian/awesome/wiki/databases/database) management application for working with MySQL databases. - [SQLyog Community edition](https://github.com/webyog/sqlyog-community) - SQLyog Community edition. For [Windows](/@harrisonqian/awesome/wiki/platforms/windows), works fine under wine in Mac and [Linux](/@harrisonqian/awesome/wiki/platforms/linux) - [WebDB](https://github.com/WebDB-App/app) – Open Source and Efficient [Database](/@harrisonqian/awesome/wiki/databases/database) IDE. Featuring Easy server connection, Modern ERD, Intelligent data generator, AI assistant, NoSQL structure manager, Time machine and Powerful query editor ## HA *High availability solutions* - [Galera Cluster](https://github.com/codership/galera) - a true Multimaster Cluster based on synchronous replication. - [mha4mysql-node](https://github.com/yoshinorim/mha4mysql-node) and [mha4mysql-manager](https://github.com/yoshinorim/mha4mysql-manager) (both unmaintained) - Master High Availability Manager and tools for MySQL. - [Orchestrator](https://github.com/openark/orchestrator) (archived) - MySQL replication topology management and High Availability solution. - [Percona Replication Manager](https://github.com/percona/replication-manager) - Asynchronous MySQL replication manager agent for Pacemaker. Supports file and GTID based replication, geo-distributed clusters using booth. - [replication-manager](https://github.com/signal18/replication-manager) - a high availability solution to manage MariaDB 10.x and MySQL & Percona Server 5.7 GTID replication topologies. ## MCP - [MCP MariaDB Server](https://github.com/MariaDB/mcp) - the official MariaDB MCP server. - [MySQL MCP Server](https://github.com/askdba/mysql-mcp-server) - Advanced MCP server exposing MySQL via the Model Context Protocol - [TiDB MCP Server](https://pingcap.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/ai/integrations/tidb-mcp-server/) - MCP Server for TiDB. ## Proxy *Proxies to MySQL* - [MySQL Router](https://dev.mysql.com/doc/mysql-router/en/) - 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](https://github.com/sysown/proxysql) - High performance proxy for MySQL. ## Replication *Replication related software* * [data-diff](https://github.com/datafold/data-diff) (archived) - Command-line tool and [Python](/@harrisonqian/awesome/wiki/programming-languages/python) library to efficiently diff rows across two different databases. ## Schema *Add-on schemas* - [common_schema](https://github.com/shlomi-noach/common_schema) - DBA's framework for MySQL, providing a function library, views library and QueryScript interpreter. - [sys](https://github.com/mysql/mysql-sys) (archived) - A collection of views, functions and procedures to help MySQL administrators get insight in to MySQL [Database](/@harrisonqian/awesome/wiki/databases/database) usage. See [sys schema docs](https://dev.mysql.com/doc/refman/8.4/en/sys-schema.html) ## Security *Tools that prevents leaking of sensitive data from database (encryption, masking and tokenization, honey-pots, etc)* - [Acra](https://github.com/cossacklabs/acra) - SQL [database](/@harrisonqian/awesome/wiki/databases/database) protection suite: strong selective encryption, SQL injections prevention, intrusion detection system. - [myanon](https://github.com/ppomes/myanon) - [Streaming](/@harrisonqian/awesome/wiki/big-data/streaming) anonymizer for MySQL dump files, reading mysqldump output from stdin and writing anonymized data to stdout. Supports deterministic hashing, fixed values, [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) field anonymization, and [Python](/@harrisonqian/awesome/wiki/programming-languages/python) extensions. - [myldapsync](https://github.com/6eh01der/myldapsync) - Synchronize MySQL or MariaDB users with users in an LDAP directory. ## Server *MySQL server flavors* - [MariaDB](https://github.com/MariaDB/server) - Community developed fork of MySQL server. - [MySQL Server & MySQL Cluster](https://github.com/mysql/mysql-server) - Official Oracle's MySQL server & MySQL Cluster distribution. - [MyVector](https://github.com/askdba/myvector) - Native vector search plugin for MySQL, shipped as a server plugin. - [Percona Server](https://github.com/percona/percona-server) - An enhanced, drop-in MySQL replacement. - [TiDB](https://github.com/pingcap/tidb) - A distributed HTAP [database](/@harrisonqian/awesome/wiki/databases/database) compatible with the MySQL protocol. ## Sharding *Sharding solutions/frameworks* - [Jetpants](https://github.com/tumblr/jetpants) - An automation suite for managing large range sharding clusters, by Tumblr. - [Vitess](https://github.com/vitessio/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. ## Toolkits *Toolkits, general purpose scripts* - [gh-ost](https://github.com/github/gh-ost/) - [GitHub](/@harrisonqian/awesome/wiki/development-environment/github)'s online schema migration for MySQL. - [go-mysql](https://github.com/go-mysql-org/go-mysql) - A pure go library to handle MySQL network protocol and replication. - [MySQL Utilities](https://github.com/mysql/mysql-utilities) (deprecated) - a collection of command-line utilities, written in [Python](/@harrisonqian/awesome/wiki/programming-languages/python), that are used for maintaining and administering MySQL servers, either individually, or within Replication hierarchies. - [Percona Toolkit](https://github.com/percona/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](https://github.com/HelgeSverre/sql-splitter) - High-performance CLI for splitting, merging, converting, validating, and sampling mysqldump files. - [Swoof](https://github.com/StirlingMarketingGroup/swoof) - Ultra fast MySQL table importer that stages swaps through temporary tables and supports file/clipboard targets. - [UnDROP](https://github.com/twindb/undrop-for-innodb) (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 *e-books as well as relevant materials on and around MySQL* - [Database Systems Lecture Notes](http://spots.augusta.edu/caubert/db/ln/) - lecture notes on [Database](/@harrisonqian/awesome/wiki/databases/database) Systems (available in pdf, html, odt and markdown) including a Chapter on SQL that covers basic set-up, exercises and problems. - [SQL-exercise](https://github.com/XD-DENG/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). ## Incubating Projects that are known to be non-production and yet have either traction or substance that warrants exposure. - [VillageSQL](https://github.com/villagesql/villagesql-server) - A drop-in replacement for MySQL with extensions for the agentic AI era.