MySQL
Analysis
10_ENTRIESPerformance, structure & data analysis tools
- 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=JSONoutput, 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.
- Prometheus
/mysqld_exporter - Time series database for real-time monitoring and alerting.
- pstop
a top-like program for MySQL, collecting, aggregating and displaying information from performance_schema.
- Wireshark
a protocol analyzer that can decode the MySQL protocol.
- Dolphie
a modern terminal tool for real-time analytics into MySQL/MariaDB & ProxySQL
Backup
4_ENTRIESBackup/restore/recovery tools
- 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.
Benchmarking
4_ENTRIESTools to stress your servers
- iibench-mysql
Java based version of the Index Insertion Benchmark for MySQL/Percona/MariaDB.
- Sysbench
a modular, cross-platform and multi-threaded benchmark tool.
- TPCC-MySQL
(archived) - A port of the popular TPCC benchmark for MySQL.
Binlog-Replication
3_ENTRIES- 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
1_ENTRIESScripts integrated into chat rooms
Configuration
1_ENTRIESMySQL sample configuration and advisors
- mysql-compatibility-config
make MySQL configuration behave more like newer (or older) releases of MySQL.
Connectors
20_ENTRIESMySQL connectors for various programming languages
- 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
Deployment
3_ENTRIESMySQL deployment tools
- dbdeployer
(archived) - A tool that installs one or more MySQL servers within seconds, easily, securely, and with full control.
- MariaDB4j
A Java launcher to run MariaDB without installation or external dependencies.
- MySQL Docker
Official Docker images.
Development
6_ENTRIESTools to support MySQL-related development
- Flywaydb
Database migrations; Evolve your database schema easily and reliably across all your instances
- 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
GUI
15_ENTRIESGUI frontends & applications
- 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.
- 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.
- SQLyog Community edition
SQLyog Community edition. For Windows, works fine under wine in Mac and Linux
- 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
5_ENTRIESHigh availability solutions
- Galera Cluster
a true Multimaster Cluster based on synchronous replication.
- mha4mysql-node
and mha4mysql-manager (both unmaintained) - Master High Availability Manager and tools for MySQL.
- Orchestrator
MySQL replication topology management and High Availability solution.
- 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.
MCP
3_ENTRIES- 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
3_ENTRIESProxies to MySQL
- MySQL Proxy
(deprecated) - A simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication.
- 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.
Replication
1_ENTRIESReplication related software
- data-diff
Command-line tool and Python library to efficiently diff rows across two different databases.
Schema
2_ENTRIESAdd-on schemas
- common_schema
DBA's framework for MySQL, providing a function library, views library and QueryScript interpreter.
- sys
A collection of views, functions and procedures to help MySQL administrators get insight in to MySQL Database usage.
Security
2_ENTRIESTools that prevents leaking of sensitive data from database (encryption, masking and tokenization, honey-pots, etc)
- Acra
SQL database protection suite: strong selective encryption, SQL injections prevention, intrusion detection system.
- myldapsync
Synchronize MySQL or MariaDB users with users in an LDAP directory.
Server
4_ENTRIESMySQL server flavors
- MariaDB
Community developed fork of MySQL server.
- MySQL Server & MySQL Cluster
Official Oracle's MySQL server & MySQL Cluster distribution.
- Percona Server
An enhanced, drop-in MySQL replacement.
- TiDB
A distributed HTAP database compatible with the MySQL protocol.
Sharding
2_ENTRIESSharding solutions/frameworks
Toolkits
6_ENTRIESToolkits, general purpose scripts
At this stage "resources" will not include websites, blogs, slides, presentation videos, etc. in fear of list size
- gh-ost
GitHub's online schema migration for MySQL.
- go-mysql
A pure go library to handle MySQL network protocol and replication.
- 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.
- 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.
- Swoof
Ultra fast MySQL table importer that stages swaps through temporary tables and supports file/clipboard targets.
- UnDROP
a tool to recover data from dropped or corrupted InnoDB tables.
e-books
2_ENTRIESe-books as well as relevant materials on and around MySQL
- 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.