46 lines
1.2 KiB
YAML
46 lines
1.2 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: SERVICE | Restart now (prevent bugs)
|
|
service: name=mysql state=restarted
|
|
when: config.changed or extraconfig.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
|
|
|