|  | ||
|---|---|---|
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| tests | ||
| vars | ||
| .gitignore | ||
| .travis.yml | ||
| LICENSE | ||
| README.md | ||
| Vagrantfile | ||
		
			
				
				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 Stretch | Debian | 10.1 | 
| Debian Stretch | Upstream | 10.1 / 10.2 / 10.3 / 10.4 | 
Notes
- Galera Cluster is experimental
- Due to Vagrant + Docker limitation (private network), replication/galera can't be checked with Travis
- If you need to test this role with Vagrant, you must install hostmanager plugin: vagrant plugin install vagrant-hostmanager
Requirements
Ansible 2.5+
Role Variables
- mariadb_origin: origin of the package ("default" or "upstream")
- mariadb_vendor: "mariadb", "mariadb_galera"
Configuration
- mariadb_root_password: root password (should be protected with vault)
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_version: 10.0 / 10.1 / 10.2 / 10.3
- mariadb_repository: MariaDB upstream APT repository (see: MariaDB repositories tool)
- mariadb_percona_repository: Percona upstream APT repository (see: Percona APT doc)
- mariadb_use_percona_apt: Force using Percona APT repository (useful when you want to use latest version of percona toolkits, xtrabackup... etc)
Dependencies
None.
Example Playbook
- hosts: servers
  roles:
     - { role: HanXHX.mysql, mariadb_origin: 'upstream', mariadb_vendor: 'mariadb' }
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_