A curated list of awesome MariaDB resources, maintained by Vettabase and sponsored by the MariaDB Foundation.
Inspired by the awesome-*
trend on GitHub.
This list is intended for Database Administrators. There are lists intended for other audiences. See README.md.
- Articles
- Ansible
- Chef
- Backups
- Containers
- Monitoring
- Proxies
- Sharding
- Replication
- Schema Versioning
- Security
- Toolkits
- User Interfaces
See the key for explanations of the terms used in this list.
- Arch Linux MariaDB documentation - Includes post-install tasks and common problems resolution.
- Introduction to Data Replication With MariaDB Using Docker Containers
- Customizing MariaDB Docker Images
- MariaDB semi-sync replication using containers
- Is Galera trx_commit=2 and sync_binlog=0 evil?
- InnoDB Durability - mailing list discussion
- MariaDB connection ID
- Database load balancing for MySQL and MariaDB with ProxySQL
Platforms and tools to automate MariaDB deployments.
Modules and collections:
- Community.Mysql - This is the community MySQL collection distributed with Ansible. It works with MariaDB, but you need to be careful not to use MySQL-specific features. MariaDB-specific features are not supported.
Roles:
- ansible-role-mariadb - This high quality role is used by the MariaDB Foundation for testing.
- bertvv/ansible-role-mariadb - Another production-grade role that removes unsafe defaults and handles configuration files in a completely dynamic manner.
Articles:
- Automating MariaDB server Deployment and Database configuration with Ansible
- Creating dynamic configuration files with Ansible - This article shows how to use Ansible and a Jinja template to automate the MariaDB configuration files creation.
- MariaDB Cookbook - Maintained by Sous Chefs
- puppet-mariadb - Fork of PuppetLabs MySQL module, which supports MariaDB and Galera on RedHat and Debian
- puppet-galera - Manage MariaDB Galera Cluster or Percona XtraDB Cluster. Supports Galera Arbitrator. Supports both systemd and xinetd.
Tools
Project | MariaDB Support | License / Platform | Description |
---|---|---|---|
Backup Manager | YES | Proprietary | Supports many types of backups. By FromDual. |
maria-back-me-up | YES | Apache License 2 | Incremental dumps on Kubernetes. Supports archival. |
Mariabackup | YES | Distributed with MariaDB | Online physical backups. |
mariabackup-script | YES | GPL3 | Wrapper script for Mariabackup. Handles failed backups. |
mariadb-dump | YES | Distributed with MariaDB | Logical backups of data and/or schema. |
Articles
- Using MariaDB's binary log to restore a database after overwriting with old backup
- Backing up MariaDB Temporal Database (StackOverflow answer)
- mariadb image - Official image, maintained by MariaDB Foundation.
- yobasystems/alpine-mariadb - MariaDB image based on Alpine Linux.
- linuxserver/mariadb - Maintained by LinuxServer. Different configuration choices compared to the official image, for example the query cache is enabled on demand, rather than disabled. Supports customization via LinuxServer Docker mods.
- mariadb-container - Dockerfiles with a focus on OpenShift usage, but suitable for general use.
- mariadb-operator - Maintained by MariaDB plc.
Project | MariaDB Support | License / Platform | Notes |
---|---|---|---|
Datadog | MYSQL | Cloud | |
Dolphie | YES | GPL3 | |
golang-mariadbconsole | YES | GPL3 | |
PMM | YES | AGPL3 or cloud | [1] |
SolarWinds | YES | Proprietary in-premise or cloud | |
SSM | YES | ? | [2] |
Zabbix | YES | AGPL3 | [3] |
- See the online demo.
- PMM v1 fork.
- See agent gathering MariaDB metrics
In the list below, SQL-aware means that a proxy understands SQL statements, and is able to perform tasks like read-write splitting.
- ProxySQL - Open source, widely used proxy with full support for MariaDB. SQL-aware.
- MariaDB MaxScale - Source available proxy maintained by MariaDB plc. SQL-aware.
- HAProxy - Open source, TCP proxy. Not SQL-aware.
- haproxy-galera - MariaDB Galera health check script for HAProxy.
Articles
The following projects are either sharding components or sub-components that be used to create a sharding solution. There is no "out of the box" solution. Internal or database native options require your application to be aware and even manage the shards. External solutions will require bespoke backup and monitoring tooling for where the database shards are hosted across several servers.
Project | MariaDB Support | License / Platform | Notes |
---|---|---|---|
MaxScale | YES | Proprietary | A query and connection router that is part of Maxscale. |
ProxySQL | YES | GPLv3 | Sharding in ProxySQL by User, Schema or Data. Sharding is based on rules which pattern match on incoming queries. |
Spider | YES | GPLv2 | A storage engine for table definition shards and connections to split tables among several servers. |
Project | MariaDB Support | License / Platform |
---|---|---|
ClusterControl | Yes | Open Core |
go-mysql | YES | MIT |
Replication Manager | 10.0+ | GPL / Proprietary |
Project Name | MariaDB Support | License / Platform |
---|---|---|
ByteBase | 10.7+ | Open source, proprietary, cloud |
Flyway | 5.1, 10.11 | Apache 2 |
Liquibase | PARTIAL | Proprietary or Apache 2 |
Skeema.io | 10.1 | Proprietary or Apache 2 |
Tools
Project Name | MariaDB Support | License | Notes | |
---|---|---|---|---|
Acra | 10.3+ | Apache2 | Database protection suite with field level encryption and intrusion detection. | |
myldapsync | YES | GPL | Synchronise MariaDB users with users in an LDAP directory. | |
SecuRich | YES | GPL2 | Stored procedures library with user management and role implementation. Unmaintained, but useful with old MariaDB versions. |
Articles
- Monitoring MariaDB Security with Wazuh
- Enforcing strong passwords for MariaDB users
- Enabling Kerberos (MIT and AD) authentication for MariaDB Database Server
- MariaDB with Active Directory authentication via PAM module
Project | MariaDB Support | License | Language | Description |
---|---|---|---|---|
common_schema | YES | GPL2 | Stored Procedures | A library of stored procedures for DBAs. Includes a parser for its own language, QueryScript, and a debugger. |
Percona Toolkit | YES | GPL2 | Perl | A set of Perl scripts for MariaDB and MySQL administration. |
SQLAxe | MySQL | MIT | Python | Tool to manipulate SQL files. Based on SQLGlot, that currently doesn't support any MariaDB specific syntax. |
GUIs
Project Name | MariaDB Support | Platforms | Licence | Notes |
---|---|---|---|---|
Beekeeper Studio | NOT VERIFIED | Linux, MacOS, Windows | BOTH | |
Database Workbench | NOT VERIFIED | Windows | Proprietary | |
DataGrip | YES | Linux, MacOS, Windows | Proprietary | |
DBeaver | NOT VERIFIED | Linux, MacOS, Windows | BOTH | |
dbForge Studio for MySQL | YES | Windows | Proprietary | |
dbForge Edge | YES | Windows | Proprietary |
| DbVisualizer | YES | Native: Linux, Windows; JVM: Linux, MacOS, Windows | BOTH | | | Harlequin | MySQL | Python | Open Source | | | HeidiSQL | YES | Windows | Open Source | | | LibreOffice Base | NOT VERIFIED | Linux, MacOS, Windows | Open Source | [1] | | Navicat | YES | Linux, MacOS, Windows | Proprietary | | | ocelotgui | YES | Linux | Open Source | | | OpenOffice Base | MySQL | Linux, MacOS, Windows | Open Source | [2] | | Sequel Pro | PARTIAL | MacOS | Open Source | [3] | | SQLPro Studio | NOT VERIFIED | MacOS, Windows, iOS | Proprietary | | | SQLyog | NOT VERIFIED | Windows | Proprietary | | | TablePlus | NOT VERIFIED | Linux, MacOS, Windows, iOS | Proprietary | | | Toad Edge | NOT VERIFIED | MacOS, Windows, Jenkins plugin | Proprietary | | | Valentina Studio | NOT VERIFIED | Linux, MacOS, Windows | Proprietary | |
Notes
- LibreOffice Base is a generic data visualization frontend. To learn how to use it with MariaDB, see the MariaDB KB.
- Apache OpenOffice is the project from which LibreOffice was originally forked. LibreOffice became more popular over time, so consider LibreOffice Base as well. OpenOffice Base does not support MariaDB. However it supports MySQL and ODBC drivers, so in practice it should work with MariaDB for standard use cases.
- At the time of writing, MariaDB support is only mentioned in the
README.md
file. A quick search on GitHub shows that this support is currently limited to version identification, some permissions and a TODO note.
Web Interfaces
Project Name | MariaDB Support | Platforms | License | Notes |
---|---|---|---|---|
Adminer | NOT VERIFIED | PHP | Apache2 or GPL2 | |
Express Admin | YES | NodeJS | MIT | [1] |
phpMyAdmin | YES | PHP | GPL2 |
- Express Admin is a NodeJS tool for easy creation of administrative interfaces, data entry forms and data visualisation MariaDB and other databases.
TUIs
Project Name | MariaDB Support | Platforms | License |
---|---|---|---|
mycli | YES | Python | Open Source |
Meaning of the terms used in this list.
Some of the sections include resources that were created for MySQL, or for both MariaDB and MySQL. The extent of MariaDB support is not always optimal. For those resources, we indicate the MariaDB support level as follows:
YES
: Specific support for MariaDB is indicated, or can be inferred from the documentation or the source code. "Supports MySQL/MariaDB" is not considered specific MariaDB support, because the author might assume that what works on MySQL will work on MariaDB equally well.MySQL
: Officially supports MySQL, but not MariaDB.NOT VERIFIED
: Officially supports MySQL and MariaDB but we do not know whether full support for MariaDB is implemented.PARTIAL
: We are aware of relevant bugs or missing features.
If you disagree about a project's MariaDB Support indication, please report a bug.
The license column might need a better name.
Cloud
- Available as a cloud service.Proprietary
- Source is available, but software is not Open Source.Open Source
- The license is approved by OSI.- For software that uses a single, open source, well-known license we sometimes indicate the license name.
For non-cloud software, we ancourage you to verify the license where relevant. Indicating a specific license is usually a simplification, because an application could be distributed with multiple licenses, or it might include libraries that use different licenses.
Copyright 2024 Vettabase Ltd and contributors.
Awesome MariaDB list is licensed under CC BY-SA 4.0 license.