]> arthur.barton.de Git - AnsibleRoles.git/blob - roles/mysql-server/tasks/main.yml
New "lvm-lv" role
[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   when: mysql_server_vg != ""
15
16 - name: install MySQL packages for client and server
17   tags:
18     - mysql
19     - mysqld
20     - packages
21   apt: >
22     state=installed
23     name={{ item }}
24   with_items:
25     - mysql-client
26     - mysql-server
27     - mysqltuner
28     - python-mysqldb
29
30 - name: ensure service "mysql" is enabled and started
31   tags:
32     - services
33     - mysql
34     - mysqld
35   service: >
36     enabled=yes
37     name=mysql
38     state=started
39
40 - name: setup MySQL "ansible" account
41   tags:
42     - mysql
43     - mysqld
44     - mysql-users
45   mysql_user: >
46     login_user={{ mysql_server_ansible_user }}
47     login_password={{ mysql_server_ansible_password }}
48     check_implicit_admin=yes
49     host="localhost"
50     name=ansible
51     password={{ mysql_server_ansible_password }}
52     priv="*.*:ALL,GRANT"
53     state=present
54
55 - name: setup MySQL "root" account
56   tags:
57     - mysql
58     - mysqld
59     - mysql-users
60   mysql_user: >
61     login_user={{ mysql_server_ansible_user }}
62     login_password={{ mysql_server_ansible_password }}
63     host="{{ mysql_server_root_host }}"
64     name=root
65     password={{ mysql_server_root_password }}
66     priv="*.*:ALL,GRANT"
67     state=present
68
69 - name: Remove unwanted MySQL "root" accounts (1/2)
70   tags:
71     - mysql
72     - mysqld
73     - mysql-users
74   mysql_user: >
75     login_user={{ mysql_server_ansible_user }}
76     login_password={{ mysql_server_ansible_password }}
77     host={{ item }}
78     name=root
79     state=absent
80   with_items:
81     - "{{ ansible_hostname }}"
82     - "127.0.0.1"
83     - "::1"
84
85 - name: Remove unwanted MySQL "root" accounts (2/2)
86   tags:
87     - mysql
88     - mysqld
89     - mysql-users
90   mysql_user: >
91     login_user={{ mysql_server_ansible_user }}
92     login_password={{ mysql_server_ansible_password }}
93     host={{ item }}
94     name=root
95     state=absent
96   with_items:
97     - "localhost"
98   when: mysql_server_root_host != "localhost"