48 lines
1.9 KiB
YAML
48 lines
1.9 KiB
YAML
---
|
|
- name: mariadb | create databases
|
|
mysql_db:
|
|
name: "{{ item.name }}"
|
|
encoding: "{{ item.encoding | default('utf8mb4') }}"
|
|
collation: "{{ item.collation | default('utf8mb4_unicode_ci') }}"
|
|
state: present
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
loop: "{{ mariadb_databases }}"
|
|
when: mariadb_databases is defined and mariadb_databases | length > 0
|
|
|
|
- name: mariadb | create users with password
|
|
mysql_user:
|
|
name: "{{ item.0.name }}"
|
|
password: "{{ item.0.password }}"
|
|
host: "{{ item.1 }}"
|
|
priv: "{{ (item.0.priv | join('/')) if (item.0.priv is defined and (item.0.priv is sequence) and (item.0.priv is not string)) else (item.0.priv if item.0.priv is defined else omit) }}"
|
|
append_privs: "{{ item.0.append_privs | default(true) }}"
|
|
state: '{{ item.0.state|default("present") }}'
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
with_subelements :
|
|
- "{{ mariadb_users | default([]) }}"
|
|
- host
|
|
when:
|
|
- mariadb_users is defined and mariadb_users | length > 0
|
|
- item.0.password is defined
|
|
- item.0.encrypted_password is not defined
|
|
no_log: true
|
|
|
|
- name: mariadb | create users with encrypted password
|
|
mysql_user:
|
|
name: '{{ item.0.name }}'
|
|
encrypted: true
|
|
password: '{{ item.0.encrypted_password }}'
|
|
host: '{{ item.1 }}'
|
|
priv: "{{ (item.0.priv | join('/')) if (item.0.priv is defined and (item.0.priv is sequence) and (item.0.priv is not string)) else (item.0.priv if item.0.priv is defined else omit) }}"
|
|
append_privs: "{{ item.0.append_privs | default(true) }}"
|
|
state: '{{ item.0.state|default("present") }}'
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
with_subelements :
|
|
- "{{ mariadb_users | default([]) }}"
|
|
- host
|
|
when:
|
|
- mariadb_users is defined and mariadb_users | length > 0
|
|
- item.0.encrypted_password is defined
|
|
- item.0.password is not defined
|
|
no_log: true
|