60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
---
|
|
- name: Add GPG key for MariaDB repo
|
|
apt_key: id=0x177F4010FE56CA3336300305F1656F24C74CD1D8 url=https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x177F4010FE56CA3336300305F1656F24C74CD1D8
|
|
register: add_mariadb_apt_key
|
|
tags: mariadb, packages
|
|
|
|
- name: Add MariaDB 10.3 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 mysql
|
|
tags: mariadb
|
|
|
|
# 'localhost' needs to be the last item for idempotency, see
|
|
# https://docs.ansible.com/ansible/latest/mysql_user_module.html
|
|
- name: Update MariaDB root password for all root accounts
|
|
mysql_user: name=root host={{ item }} password={{ mariadb_root_password }}
|
|
loop:
|
|
- "{{ inventory_hostname }}"
|
|
- 127.0.0.1
|
|
- ::1
|
|
- localhost
|
|
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
|
|
|
|
- name: Create MariaDB database(s)
|
|
mysql_db: db={{ item.name }} state=present encoding=utf8mb4
|
|
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 state=present
|
|
loop: "{{ mariadb_databases }}"
|
|
when: mariadb_databases is defined
|
|
tags: mariadb
|
|
|
|
# vim: set ts=2 sw=2:
|