]> arthur.barton.de Git - AnsibleRoles.git/blob - roles/mysql-server/tasks/main.yml
Update "apt" tasks to use lists
[AnsibleRoles.git] / roles / mysql-server / tasks / main.yml
1 ---
2 # mysql-server tasks
3
4 - name: create LVM LV and file system for MySQL data
5   tags:
6     - mysql
7     - fs
8   include_role:
9     name: lvm-lv
10   vars:
11     lvm_vg: "{{ mysql_server_vg }}"
12     lvm_lv_name: "{{ mysql_server_lv_name }}"
13     lvm_lv_size: "{{ mysql_server_lv_size }}"
14     lvm_lv_mountpoint: "/var/lib/mysql"
15   when: mysql_server_vg != "" and mysql_server_lv_name != ""
16
17 - name: install MySQL packages for client and server
18   tags:
19     - mysql
20     - mysqld
21     - packages
22   apt:
23     state: present
24     name: [
25       'mysql-client',
26       'mysql-server',
27       'mysqltuner',
28       'python-mysqldb',
29     ]
30
31 - name: ensure service "mysql" is enabled and started
32   tags:
33     - services
34     - mysql
35     - mysqld
36   service: >
37     enabled=yes
38     name=mysql
39     state=started
40
41 - name: setup MySQL "ansible" account
42   tags:
43     - mysql
44     - mysqld
45     - mysql-users
46   mysql_user: >
47     login_user={{ mysql_server_ansible_user }}
48     login_password={{ mysql_server_ansible_password }}
49     check_implicit_admin=yes
50     host="localhost"
51     name=ansible
52     password={{ mysql_server_ansible_password }}
53     priv="*.*:ALL,GRANT"
54     state=present
55
56 - name: setup MySQL "root" account
57   tags:
58     - mysql
59     - mysqld
60     - mysql-users
61   mysql_user: >
62     login_user={{ mysql_server_ansible_user }}
63     login_password={{ mysql_server_ansible_password }}
64     host="{{ mysql_server_root_host }}"
65     name=root
66     password={{ mysql_server_root_password }}
67     priv="*.*:ALL,GRANT"
68     state=present
69
70 - name: Remove unwanted MySQL "root" accounts (1/2)
71   tags:
72     - mysql
73     - mysqld
74     - mysql-users
75   mysql_user: >
76     login_user={{ mysql_server_ansible_user }}
77     login_password={{ mysql_server_ansible_password }}
78     host={{ item }}
79     name=root
80     state=absent
81   with_items:
82     - "{{ ansible_hostname }}"
83     - "127.0.0.1"
84     - "::1"
85
86 - name: Remove unwanted MySQL "root" accounts (2/2)
87   tags:
88     - mysql
89     - mysqld
90     - mysql-users
91   mysql_user: >
92     login_user={{ mysql_server_ansible_user }}
93     login_password={{ mysql_server_ansible_password }}
94     host={{ item }}
95     name=root
96     state=absent
97   with_items:
98     - "localhost"
99   when: mysql_server_root_host != "localhost"