-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigure_mysql.yml
73 lines (64 loc) · 2.16 KB
/
configure_mysql.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
- name: Configure MySQL
block:
- name: Ensure MySQL is installed
apt:
name: mysql-server
state: present
- name: Ensure python3-pymysql is installed for Ansible MySQL modules
apt:
name: python3-pymysql
state: present
- name: Ensure MySQL service is started
service:
name: mysql
state: started
- name: Check MySQL service status
command: systemctl status mysql.service
register: mysql_status
failed_when: false
- name: Debug MySQL service status
debug:
var: mysql_status.stdout_lines
- name: Check if MySQL database exists
mysql_db:
login_user: "{{ mysql_root_user }}"
login_password: "{{ mysql_root_password }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
name: "{{ db_name }}"
state: present
register: db_exists
- name: Create MySQL database if it does not exist
mysql_db:
login_user: "{{ mysql_root_user }}"
login_password: "{{ mysql_root_password }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
name: "{{ db_name }}"
state: present
when:
- not db_exists.changed
- name: Ensure MySQL database is created
mysql_db:
name: "{{ db_name }}"
state: present
login_user: "{{ mysql_root_user }}"
login_password: "{{ mysql_root_password }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Ensure MySQL user has necessary privileges
mysql_user:
name: "{{ movim_db_user }}"
password: "{{ movim_db_password }}"
priv: "{{ db_name }}.*:ALL"
host: "{{ db_host | default('localhost') }}"
state: present
login_user: "{{ mysql_root_user }}"
login_password: "{{ mysql_root_password }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Ensure MySQL database uses utf8mb4_bin collation
mysql_db:
name: "{{ db_name }}"
collation: utf8mb4_bin
state: present
login_user: "{{ mysql_root_user }}"
login_password: "{{ mysql_root_password }}"
login_unix_socket: /var/run/mysqld/mysqld.sock