--- - 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.4 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: