forked from geerlingguy/ansible-role-mysql
/
setup-Debian.yml
33 lines (27 loc) · 1.24 KB
/
setup-Debian.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
---
- name: Check if MySQL is already installed.
stat: path=/etc/init.d/mysql
register: mysql_installed
- name: Update apt cache if MySQL is not yet installed.
apt: update_cache=yes
when: mysql_installed.stat.exists == false
- name: Determine required MySQL Python libraries.
set_fact:
deb_mysql_python_package: "{% if 'python3' in ansible_python_interpreter|default('') %}python3-mysqldb{% else %}python-mysqldb{% endif %}"
- name: Ensure MySQL Python libraries are installed.
apt: "name={{ deb_mysql_python_package }} state=present"
- name: Ensure MySQL packages are installed.
apt: "name={{ item }} state=present"
with_items: "{{ mysql_packages }}"
register: deb_mysql_install_packages
# Because Ubuntu starts MySQL as part of the install process, we need to stop
# mysql and remove the logfiles in case the user set a custom log file size.
- name: Ensure MySQL is stopped after initial install.
service: "name={{ mysql_daemon }} state=stopped"
when: mysql_installed.stat.exists == false
- name: Delete innodb log files created by apt package after initial install.
file: path={{ mysql_datadir }}/{{item}} state=absent
with_items:
- "ib_logfile0"
- "ib_logfile1"
when: mysql_installed.stat.exists == false