Alan Orth
bd4ae36bb6
Otherwise Ansible will try to connect with host 'localhost', which we do not use (and we have disabled name resolution anyways).
58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
---
|
|
- name: Add GPG key for MariaDB repo
|
|
apt_key: id=0x177F4010FE56CA3336300305F1656F24C74CD1D8 url=https://mariadb.org/mariadb_release_signing_key.asc
|
|
register: add_mariadb_apt_key
|
|
tags: mariadb, packages
|
|
|
|
- name: Add MariaDB 10.5 repo
|
|
template: src=mariadb.list.j2 dest=/etc/apt/sources.list.d/mariadb.list owner=root group=root mode=0644
|
|
register: add_mariadb_apt_repository
|
|
tags: mariadb, packages
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: yes
|
|
when:
|
|
add_mariadb_apt_key is changed or
|
|
add_mariadb_apt_repository is changed
|
|
|
|
- name: Install mariadb-server
|
|
apt: name={{ item }} state=present cache_valid_time=3600
|
|
loop:
|
|
- mariadb-server
|
|
- python3-pymysql # for ansible
|
|
tags: mariadb, packages
|
|
|
|
- name: Create system my.cnf
|
|
template: src=my.cnf.j2 dest=/etc/mysql/my.cnf owner=root group=root mode=0644
|
|
notify:
|
|
- restart mariadb
|
|
tags: mariadb
|
|
|
|
# See: https://docs.ansible.com/ansible/latest/collections/community/mysql/mysql_user_module.html
|
|
- name: Update MariaDB root password for all root accounts
|
|
mysql_user: name=root host={{ item }} password={{ mariadb_root_password }} login_unix_socket={{ mariadb_login_unix_socket }}
|
|
loop:
|
|
- 127.0.0.1
|
|
- ::1
|
|
tags: mariadb
|
|
|
|
- name: Create .my.conf file with root credentials
|
|
template: src=.my.cnf.j2 dest=/root/.my.cnf owner=root mode=0600
|
|
tags: mariadb
|
|
|
|
# See: https://docs.ansible.com/ansible/latest/collections/community/mysql/mysql_db_module.html
|
|
- name: Create MariaDB database(s)
|
|
mysql_db: db={{ item.name }} state=present encoding=utf8mb4 login_unix_socket={{ mariadb_login_unix_socket }}
|
|
loop: "{{ mariadb_databases }}"
|
|
when: mariadb_databases is defined
|
|
tags: mariadb
|
|
|
|
- name: Create MariaDB user(s)
|
|
mysql_user: name={{ item.user }} password={{ item.pass }} priv={{ item.name }}.*:ALL host=127.0.0.1 state=present login_unix_socket={{ mariadb_login_unix_socket }}
|
|
loop: "{{ mariadb_databases }}"
|
|
when: mariadb_databases is defined
|
|
tags: mariadb
|
|
|
|
# vim: set ts=2 sw=2:
|