--- # mysql-server tasks - name: create LVM LV and file system for MySQL data tags: - mysql - fs include_role: name: lvm-lv vars: lvm_vg: "{{ mysql_server_vg }}" lvm_lv_name: "{{ mysql_server_lv_name }}" lvm_lv_size: "{{ mysql_server_lv_size }}" when: mysql_server_vg != "" - name: install MySQL packages for client and server tags: - mysql - mysqld - packages apt: > state=installed name={{ item }} with_items: - mysql-client - mysql-server - mysqltuner - python-mysqldb - name: ensure service "mysql" is enabled and started tags: - services - mysql - mysqld service: > enabled=yes name=mysql state=started - name: setup MySQL "ansible" account tags: - mysql - mysqld - mysql-users mysql_user: > login_user={{ mysql_server_ansible_user }} login_password={{ mysql_server_ansible_password }} check_implicit_admin=yes host="localhost" name=ansible password={{ mysql_server_ansible_password }} priv="*.*:ALL,GRANT" state=present - name: setup MySQL "root" account tags: - mysql - mysqld - mysql-users mysql_user: > login_user={{ mysql_server_ansible_user }} login_password={{ mysql_server_ansible_password }} host="{{ mysql_server_root_host }}" name=root password={{ mysql_server_root_password }} priv="*.*:ALL,GRANT" state=present - name: Remove unwanted MySQL "root" accounts (1/2) tags: - mysql - mysqld - mysql-users mysql_user: > login_user={{ mysql_server_ansible_user }} login_password={{ mysql_server_ansible_password }} host={{ item }} name=root state=absent with_items: - "{{ ansible_hostname }}" - "127.0.0.1" - "::1" - name: Remove unwanted MySQL "root" accounts (2/2) tags: - mysql - mysqld - mysql-users mysql_user: > login_user={{ mysql_server_ansible_user }} login_password={{ mysql_server_ansible_password }} host={{ item }} name=root state=absent with_items: - "localhost" when: mysql_server_root_host != "localhost"