ansible-mysql/tasks/main.yml

53 lines
1.5 KiB
YAML

---
- name: STAT | Check if mysql exists
stat: path=/etc/init.d/mysql
register: mysql_exists
changed_when: false
- name: INCLUDE | Install
include: install/main.yml
- name: TEMPLATE | Deploy configuration
template: src=etc/mysql/my.cnf.j2 dest=/etc/mysql/my.cnf
register: config
- name: TEMPLATE | Deploy extra configuration
template: src=etc/mysql/conf.d/10-extra.cnf.j2 dest=/etc/mysql/conf.d/10-extra.cnf
register: extraconfig
- name: TEMPLATE | Deploy Galera configuration
template: src=etc/mysql/conf.d/09-galera.cnf.j2 dest=/etc/mysql/conf.d/09-galera.cnf
register: galeraconfig
- name: SERVICE | Restart now (prevent bugs)
service: name=mysql state=restarted
when: >
config.changed or
extraconfig.changed or
(galeraconfig is defined and galeraconfig.changed)
- name: TEMPLATE Create .my.cnf for root
template: src=root/my.cnf dest=/root/.my.cnf owner=root group=root mode=0600 backup=yes
- name: INCLUDE | Replication
include: replication/main.yml
when: mysql_replication_master or mysql_replication_slave
- name: INCLUDE | Secure install
include: 'secure.yml'
- name: MYSQL_DB | Create databases
mysql_db: name={{ item }} state=present
with_items: "{{ mysql_databases }}"
- name: MYSQL_USER | Manages users...
mysql_user: >
name="{{ item.name }}"
password="{{ item.password }}"
priv="{{ item.priv }}"
host="{{ item.host | default('localhost') }}"
state=present
with_items: "{{ mysql_users }}"