Skip to content

HanXHX/ansible-mysql

Repository files navigation

MariaDB (MySQL) Ansible role for Debian

Ansible Galaxy GitHub Workflow Status (master)

Install and configure MariaDB (Galera Cluster). Manage replication (master/slave). Create users and databases.

OS Origin MariaDB versions
Debian Bookworm (12) Debian 10.11
Debian Bookworm (12) Upstream From 10.11

If you need to manage previous Debian versions, please use the latest managed version.

Notes

  • Galera Cluster is experimental. Feel free to test it and report issues.

Requirements

Role Variables

  • mariadb_use_galera: set true to configure and install Galera Cluster

Configuration

If you need a feature you can't configure, you can use this list. These config will go to /etc/mysql/conf.d/01-extra.

Databases

  • mariadb_databases: list...

Users

Example:

mariadb_users:
  - name: 'lorem'
    password: '123'
    priv: lorem.*:ALL
    host: 'localhost'
  - name: 'ipsum'
    password: '465'
    priv: ipsum.*:ALL
    host_all: yes

Check "priv" syntax in mysql_user module documentation

Packaging

  • mariadb_upstream_version: depends Debian version

Other

  • mariadb_debug_role: boolean, set true to disable no_log hidding

Dependencies

None.

If you need to dev this role locally with molecule

Check available scenarios in molecule directory.

With debian12_master_slave scenario:

molecule -v -c molecule/_shared/base.yml verify -s debian12_master_slave

Example Playbook

- hosts: servers
  roles:
     - { role: hanxhx.mysql, mariadb_origin: 'upstream' }

License

GPLv2

Donation

If this code helped you, or if you’ve used them for your projects, feel free to buy me some 🍻

  • Bitcoin: 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • Ethereum: 0x63abe6b2648fd892816d87a31e3d9d4365a737b5
  • Litecoin: LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • Monero: 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

No crypto-currency? ⭐ the project is also a way of saying thank you! 😎

Author Information