|  | ||
|---|---|---|
| .config | ||
| .github/workflows | ||
| defaults | ||
| handlers | ||
| meta | ||
| molecule | ||
| tasks | ||
| templates/etc | ||
| vars | ||
| .gitignore | ||
| .yamllint.yml | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| requirements.yml | ||
		
			
				
				README.md
			
		
		
			
			
				
				
			
		
	
	MariaDB (MySQL) Ansible role for Debian
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
- Ansible - see meta/main.yml
- Collections: see requirements.yml
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.
- mariadb_extra_config: key/value hash see default vars file
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_loghidding
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
- Twitter: @hanxhx_