ansible-roles/mysql-oracle/tasks/datadir.yml

48 lines
1.2 KiB
YAML

---
- block:
- name: "Is {{ mysql_custom_datadir }} present ?"
ansible.builtin.stat:
path: "{{ mysql_custom_datadir }}"
check_mode: no
register: mysql_custom_datadir_test
- name: "read the real datadir"
ansible.builtin.command:
cmd: readlink -f /var/lib/mysql
changed_when: False
check_mode: no
register: mysql_current_real_datadir_test
tags:
- mysql
when: mysql_custom_datadir | length > 0
- block:
- name: MySQL is stopped
ansible.builtin.service:
name: mysql
state: stopped
- name: Move MySQL datadir to {{ mysql_custom_datadir }}
ansible.builtin.command:
cmd: mv {{ mysql_current_real_datadir_test.stdout }} {{ mysql_custom_datadir }}
args:
creates: "{{ mysql_custom_datadir }}"
- name: Symlink {{ mysql_custom_datadir }} to /var/lib/mysql
ansible.builtin.file:
src: "{{ mysql_custom_datadir }}"
dest: '/var/lib/mysql'
state: link
- name: MySQL is started
ansible.builtin.service:
name: mysql
state: started
tags:
- mysql
when:
- mysql_custom_datadir | length > 0
- mysql_custom_datadir != mysql_current_real_datadir_test.stdout
- not mysql_custom_datadir_test.stat.exists