--- - name: Installing required Python mysqldb module for Ansible to manage databases # apt: name=python-mysqldb apt: name=python-pymysql # - name: Set root user password # become: true # # If .my.cnf already exists, this will cause an mysql-root-password update. # mysql_user: # name: root # password: "{{ ispmail_mysql_root_password}}" # login_unix_socket: /var/run/mysqld/mysqld.sock # check_implicit_admin: true - name: Set a new root password mysql_user: check_implicit_admin: yes user: root password: "{{ ispmail_mysql_root_password }}" login_unix_socket: /var/run/mysqld/mysqld.sock host: "{{ item }}" with_items: - localhost - 127.0.0.1 - name: Create .my.cnf template: src: "root-my-cnf.j2" dest: "/root/.my.cnf" owner: root group: root mode: 0600 - name: creating mailserver MySQL database #become: true mysql_db: name: mailserver - 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