50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
---
|
|
- name: Manage the MySQL configuration files
|
|
block:
|
|
- name: Check if the new mysql data directory exists
|
|
stat: path={{ mysql_data_dir }}
|
|
register: my_data_dir
|
|
|
|
- name: Stop the mysql service while reconfiguring the data directory
|
|
service: name=mysql state=stopped
|
|
when: my_data_dir.stat.isdir is not defined
|
|
|
|
- name: Create the data directory
|
|
file: dest={{ mysql_data_dir }} state=directory owner=mysql group=mysql mode=0700
|
|
|
|
- name: Copy data to the new directory
|
|
synchronize: src=/var/lib/mysql/ dest={{ mysql_data_dir }}
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
when: my_data_dir.stat.isdir is not defined
|
|
|
|
- name: Create the log directory
|
|
file: dest={{ mysql_log_dir }} state=directory owner=mysql group=adm mode=1750
|
|
|
|
- name: Install the main configuration files.
|
|
template: src={{ item }}.cnf.j2 dest={{ mysql_conf_dir }}/{{ item }}.cnf owner=root group=root mode=0644
|
|
with_items:
|
|
- client
|
|
- mysql-clients
|
|
notify: Restart mysql
|
|
|
|
- name: Install the main configuration files.
|
|
template: src={{ item }}.cnf.j2 dest={{ mysql_service_conf_dir }}/mysqld.cnf owner=root group=root mode=0644
|
|
with_items:
|
|
- server
|
|
notify: Restart mysql
|
|
|
|
- name: Add AppArmor alias
|
|
lineinfile: path=/etc/apparmor.d/tunables/alias line='alias /var/lib/mysql/ -> {{ mysql_data_dir }}/,' insertafter=EOF
|
|
when: my_data_dir.stat.isdir is not defined
|
|
|
|
- name: Restart AppArmor service
|
|
service: name=apparmor state=restarted
|
|
when: my_data_dir.stat.isdir is not defined
|
|
|
|
- name: Start the mysql service with the new the data directory
|
|
service: name=mysql state=started
|
|
when: my_data_dir.stat.isdir is not defined
|
|
|
|
when: mysql_enabled | bool
|
|
tags: [ 'mysql', 'mariadb', 'mysql_conf' ]
|