ansible-mysql/README.md

95 lines
3.4 KiB
Markdown
Raw Normal View History

2015-07-13 20:22:42 +07:00
MySQL vendors for Debian Ansible role
======================================
2015-07-12 15:42:46 +07:00
2016-09-23 22:54:35 +07:00
[![Ansible Galaxy](http://img.shields.io/badge/ansible--galaxy-HanXHX.mysql-blue.svg)](https://galaxy.ansible.com/HanXHX/mysql) [![Build Status](https://travis-ci.org/HanXHX/ansible-mysql.svg?branch=master)](https://travis-ci.org/HanXHX/ansible-mysql)
2015-10-08 00:17:27 +07:00
2016-09-25 21:04:36 +07:00
Install and configure MySQL or MariaDB (Galera Cluster) or Percona Server. Manage replication (master/slave). Create users and databases.
| OS | Vendor | Origin | Managed versions |
| --------------- | ----------------------- | --------- | ------------------------- |
| Debian Jessie | MySQL | Debian | 5.5 / 5.6 |
| Debian Jessie | MariaDB | Debian | 10.0 |
| Debian Jessie | MariaDB | Upstream | 10.0 / 10.1 / 10.2 / 10.3 |
| Debian Jessie | MariaDB Galera Cluster | Upstream | 10.1 / 10.2 |
| Debian Jessie | Percona server | Upstream | 5.5 / 5.6 / 5.7 |
| Debian Stretch | MariaDB | Debian | 10.1 |
| Debian Stretch | MariaDB | Upstream | 10.1 / 10.2 / 10.3 |
| Debian Stretch | MariaDB Galera Cluster | Upstream | 10.1 / 10.2 |
Notes
-----
* MySQL 5.6 on Jessie needs backports repository
* MySQL server no longer exists on Debian Stretch
* Percona Server is not available (soon?) on Debian Stretch
* 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`
2015-07-13 20:22:42 +07:00
2015-07-12 15:42:46 +07:00
Requirements
------------
None.
2015-07-12 15:42:46 +07:00
Role Variables
--------------
2015-07-16 15:56:28 +07:00
- `mysql_origin`: origin of the package ("default" or "upstream")
- `mysql_vendor`: "mysql", "mariadb", "mariadb\_galera" (only with MariaDB upstream 10.1) or "percona"
2015-07-13 20:22:42 +07:00
### Configuration
- `mysql_root_password`: root password (should be protected with [vault](http://docs.ansible.com/playbooks_vault.html))
2015-08-11 04:45:01 +07:00
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`.
2016-01-08 12:25:17 +07:00
- `mysql_extra_config`: key/value hash see [default vars file](defaults/main.yml)
2015-08-11 04:45:01 +07:00
2015-07-13 20:22:42 +07:00
### Databases
- `mysql_databases`: list...
### Users
Example:
```
2015-07-16 15:56:28 +07:00
mysql_users:
2015-07-13 20:22:42 +07:00
- name: 'kiki'
password: '123'
priv: hihi.*:ALL
2015-08-08 18:02:59 +07:00
host: '%'
2015-07-13 20:22:42 +07:00
```
2016-09-25 21:04:36 +07:00
Check "priv" syntax in [mysql\_user module documentation](http://docs.ansible.com/mysql_user_module.html)
2015-07-13 20:22:42 +07:00
### Packaging
2017-06-01 20:33:09 +07:00
- `mysql_mariadb_version`: 10.0 / 10.1 / 10.2
- `mysql_mariadb_repository`: MariaDB upstream APT repository (see: [MariaDB repositories tool](https://downloads.mariadb.org/mariadb/repositories))
2017-06-01 20:33:09 +07:00
- `mysql_percona_version`: 5.5 / 5.6 / 5.7
- `mysql_percona_repository`: Percona upstream APT repository (see: [Percona APT doc](http://www.percona.com/doc/percona-server/5.5/installation/apt_repo.html))
- `mysql_use_percona_apt`: Force using Percona APT repository (useful when you want to use latest version of percona toolkits, xtrabackup... etc)
2015-07-12 15:42:46 +07:00
Dependencies
------------
2015-07-13 20:22:42 +07:00
None.
2015-07-12 15:42:46 +07:00
Example Playbook
----------------
- hosts: servers
roles:
2015-07-16 16:10:13 +07:00
- { role: HanXHX.mysql, mysql_origin: 'upstream', mysql_vendor: 'mariadb' }
2015-07-12 15:42:46 +07:00
License
-------
2015-07-13 20:22:42 +07:00
GPLv2
2015-07-12 15:42:46 +07:00
Author Information
------------------
2016-09-25 21:04:36 +07:00
- Twitter: [@hanxhx_](https://twitter.com/hanxhx_)