Skip to content

Latest commit

 

History

History
259 lines (180 loc) · 23.1 KB

list-dba.md

File metadata and controls

259 lines (180 loc) · 23.1 KB

Awesome MariaDB for DBAs

A curated list of awesome MariaDB resources, maintained by Vettabase and sponsored by the MariaDB Foundation.

Awesome Inspired by the awesome-* trend on GitHub.

This list is intended for Database Administrators. There are lists intended for other audiences. See README.md.

Contents

See the key for explanations of the terms used in this list.

Articles

Automation

Platforms and tools to automate MariaDB deployments.

Ansible

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:

Chef

Puppet

  • 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.

Backups

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

Containers

Docker

  • 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.

Kubernetes

Monitoring

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]
  1. See the online demo.
  2. PMM v1 fork.
  3. See agent gathering MariaDB metrics

Proxies

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.

Articles

Sharding

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.

Replication

Project MariaDB Support License / Platform
ClusterControl Yes Open Core
go-mysql YES MIT
Replication Manager 10.0+ GPL / Proprietary

Schema Versioning

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

Security

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

Toolkits

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.

User Interfaces

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

  1. LibreOffice Base is a generic data visualization frontend. To learn how to use it with MariaDB, see the MariaDB KB.
  2. 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.
  3. 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
  1. 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

Key

Meaning of the terms used in this list.

MariaDB Support

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.

License

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.