--- - name: Installing required Python mysqldb module for Ansible to manage databases apt: name=python-pymysql - name: Ensure mysql root password is updated for all root accounts mysql_user: name: root host: localhost login_unix_socket: /var/run/mysqld/mysqld.sock password: "{{ ispmail_mysql_root_password }}" priv: '*.*:ALL,GRANT' check_implicit_admin: true #become: yes #notify: Restart MySQL - name: Creating my-cnf for root user template: src=root-my-cnf.j2 dest=/root/.my.cnf mode=0600 - name: creating mailserver MySQL database mysql_db: name=mailserver login_password="{{ ispmail_mysql_root_password }}" - name: creating Roundcube MySQL database mysql_db: name=roundcube - name: copying MySQL database schema to server copy: src=schema.sql dest=/tmp - name: setting up SQL schema of mailserver database mysql_db: name=mailserver state=import target=/tmp/schema.sql # - name: set the MySQL root user's password # mysql_user: name=root password={{ispmail_mysql_root_password}} - name: creating MySQL user to read the mailserver database mysql_user: name=mailuser password={{ispmail_mysql_mailuser_password}} priv=mailserver.*:SELECT,INSERT,UPDATE,DELETE - name: creating MySQL user for roundcube mysql_user: name=roundcube password={{ispmail_mysql_roundcube_password}} priv=roundcube.*:ALL - name: copying MySQL test data to server copy: src=test.sql dest=/tmp when: ispmail_populate_test_data == true - name: populating the database with test data mysql_db: name=mailserver state=import target=/tmp/test.sql when: ispmail_populate_test_data == true # - name: set the MySQL root user's password # mysql_user: name=root password={{ispmail_mysql_root_password}} # - name: Create root's .my.cnf # template: src=my-cnf.j2 dest=/root/.my.cnf mode=0600