--- - name: Remove MariaDB key from apt-key ansible.builtin.apt_key: id: "013577200103762554506315430003013705453362230723150730" state: absent tags: - packages - mariadb - name: Check MariaDB package signing key ansible.builtin.stat: path: /etc/apt/keyrings/mariadb_release_signing_key.asc register: mariadb_signing_key_stat tags: - packages - mariadb - name: Download MariaDB package signing key ansible.builtin.get_url: url: https://mariadb.org/mariadb_release_signing_key.asc dest: /etc/apt/keyrings/mariadb_release_signing_key.asc owner: root group: root mode: "0644" register: download_mariadb_signing_key when: not mariadb_signing_key_stat.stat.exists tags: - packages - mariadb - name: Add MariaDB 10.11 repo ansible.builtin.apt_repository: repo: deb [arch=amd64 signed-by=/etc/apt/keyrings/mariadb_release_signing_key.asc] https://dlm.mariadb.com/repo/mariadb-server/10.11/repo/debian {{ ansible_distribution_release }} main filename: mariadb state: present register: add_mariadb_apt_repository tags: - packages - mariadb - name: Update apt cache ansible.builtin.apt: # noqa no-handler update_cache: true when: (download_mariadb_signing_key.status_code is defined and download_mariadb_signing_key.status_code == 200) or add_mariadb_apt_repository is changed tags: - packages - mariadb - name: Install mariadb-server ansible.builtin.apt: name: [mariadb-server, python3-pymysql] state: present cache_valid_time: 3600 tags: mariadb, packages - name: Create system my.cnf ansible.builtin.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 community.mysql.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 ansible.builtin.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) community.mysql.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) community.mysql.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: