--- - name: Add databases to mysql, if any mysql_db: name={{ item.name }} collation={{ item.collation }} encoding={{ item.encoding }} state=present with_items: '{{ mysql_db_data | default([]) }}' when: item.name is defined tags: [ 'mysql', 'mysql_db' ] - name: Add a user for the databases mysql_user: name={{ item.0.user }} password={{ item.0.pwd }} host={{ item.1 }} priv="{{ item.0.name }}.*:{{ item.0.user_grant }}" state=present with_subelements: - '{{ mysql_db_data | default([]) }}' - allowed_hosts when: item.0.name is defined tags: [ 'mysql', 'mysql_db', 'mysql_user' ] - name: Additional user privileges, if defined mysql_user: name={{ item.0.user }} append_privs=yes priv="{{ item.0.name }}.*:{{ item.0.additional_privs }}" state=present with_subelements: - '{{ mysql_db_data | default([]) }}' - allowed_hosts when: - item.0.name is defined - item.0.additional_privs is defined tags: [ 'mysql', 'mysql_db', 'mysql_user' ]