Icingaweb2/ANSIBLE/roles/mariadb/tasks/install_initilise.yml
2025-07-07 16:53:12 +01:00

49 lines
1.2 KiB
YAML

---
- name: Install MariaDB server and client
ansible.builtin.apt:
name:
- mariadb-server
- mariadb-client
state: present
update_cache: true
- name: Ensure PyMySQL is installed
ansible.builtin.apt:
name: python3-pymysql
state: present
- name: Ensure MariaDB is running and enabled
ansible.builtin.service:
name: mariadb
state: started
enabled: true
- name: Try to connect to MariaDB with root password
ansible.builtin.shell: |
mysql -u root -p'{{ mariadb_root_password }}' -e "SELECT 1;"
register: mysql_root_status
failed_when: false
changed_when: false
- name: Value of mysql_root_status
ansible.builtin.debug:
msg: "{{mysql_root_status}}"
- name: Set MariaDB root password if not already set
community.mysql.mysql_user:
name: root
host: "{{ item }}"
password: "{{ mariadb_root_password }}"
login_unix_socket: /run/mysqld/mysqld.sock
check_implicit_admin: true
state: present
loop:
- localhost
# - 127.0.0.1
# - ::1
when: mysql_root_status.rc != 0
- name: Check MariaDB root password is set
ansible.builtin.debug:
msg: "MariaDB root password is already set, skipping reset"
when: mysql_root_status.rc == 0