--- - name: INCLUDE_VARS | Related to OS version include_vars: "{{ ansible_distribution }}-{{ ansible_distribution_release }}.yml" - name: STAT | Check if mysql exists stat: path=/etc/init.d/mysql register: mysql_exists changed_when: false - name: INCLUDE | Install include: install/main.yml - name: TEMPLATE | Deploy configuration template: "src={{ mysql_config_template }} dest=/etc/mysql/my.cnf" register: config - name: TEMPLATE | Deploy extra configuration template: src=etc/mysql/conf.d/10-extra.cnf.j2 dest=/etc/mysql/conf.d/10-extra.cnf register: extraconfig - name: SERVICE | Restart now (prevent bugs) service: name=mysql state=restarted when: > (config.changed or extraconfig.changed) and not mysql_galera_resetup - name: TEMPLATE Create .my.cnf for root template: src=root/my.cnf dest=/root/.my.cnf owner=root group=root mode=0600 backup=yes - name: INCLUDE | Galera include: galera/main.yml when: mysql_vendor == 'mariadb_galera' - name: INCLUDE | Replication include: replication/main.yml when: mysql_replication_master or mysql_replication_slave - name: INCLUDE | Secure install include: 'secure.yml' - name: SERVICE | Ensure service is started service: name=mysql state=started - name: MYSQL_DB | Create databases mysql_db: name={{ item }} state=present with_items: "{{ mysql_databases }}" - name: MYSQL_USER | Manages users... mysql_user: > name="{{ item.name }}" password="{{ item.password }}" priv="{{ item.priv }}" host="{{ item.host | default('localhost') }}" state=present with_items: "{{ mysql_users }}" - name: TEMPLATE | Deploy logrotate configuration template: src: "etc/logrotate.d/mysql-server.j2" dest: "/etc/logrotate.d/mysql-server" when: mysql_manage_logrotate