Role: mariadb

This commit is contained in:
Harvey Baxter 2025-07-07 15:15:30 +01:00
parent 9280faab4f
commit f493b36330
4 changed files with 54 additions and 47 deletions

View File

@ -1,2 +1,3 @@
---
# defaults file for roles/mariadb
mariadb_manage: false

View File

@ -0,0 +1,45 @@
---
- 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: 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

View File

@ -1,45 +1,5 @@
---
- name: Install MariaDB server and client
apt:
name:
- mariadb-server
- mariadb-client
state: present
update_cache: yes
- name: Ensure PyMySQL is installed
apt:
name: python3-pymysql
state: present
- name: Ensure MariaDB is running and enabled
service:
name: mariadb
state: started
enabled: true
- name: Try to connect to MariaDB with root password
shell: |
mysql -u root -p'{{ mariadb_root_password }}' -e "SELECT 1;"
register: mysql_root_status
failed_when: false
changed_when: false
- name: Set MariaDB root password if not already set
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
- debug:
msg: "MariaDB root password is already set, skipping reset"
when: mysql_root_status.rc == 0
- name: Mariadb Install & Init
ansible.builtin.include_tasks: install_initilise.yml
- name: Mariadb db create
when: mariadb_manage
ansible.builtin.include_tasks: install_initilise.yml

View File

@ -4,6 +4,7 @@
become: true
gather_facts: true
roles:
# - httpd_with_php
- httpd
- roundcube
- svc_acct
- mariadb
# - svc_acct