From 5bd2f0ddaab90262e89a2bbbc3fba93f497ff7d5 Mon Sep 17 00:00:00 2001 From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de> Date: Sat, 17 Sep 2022 18:38:11 +0200 Subject: [PATCH] mysql: Add options to enable binlog https://mariadb.com/kb/en/binary-log/ --- mysql/defaults/main.yml | 3 +++ mysql/handlers/main.yml | 10 ++++++++++ mysql/tasks/main.yml | 19 +++++++++++++++++++ mysql/templates/override.conf | 2 ++ 4 files changed, 34 insertions(+) create mode 100644 mysql/handlers/main.yml create mode 100644 mysql/templates/override.conf diff --git a/mysql/defaults/main.yml b/mysql/defaults/main.yml index 38ce525..996a3c5 100644 --- a/mysql/defaults/main.yml +++ b/mysql/defaults/main.yml @@ -8,3 +8,6 @@ mysql_backup_user: "backup" mysql_backup_password: "{{ lookup('passwordstore', 'db/{{ ansible_hostname }}-mysql-backup create=true length=20') }}" mysql_rsnapshot: false +# It is the admin’s responsibility to further configure binlogs, especially +# purging them if required. +mysql_enable_binlog: false diff --git a/mysql/handlers/main.yml b/mysql/handlers/main.yml new file mode 100644 index 0000000..1d24e32 --- /dev/null +++ b/mysql/handlers/main.yml @@ -0,0 +1,10 @@ +--- + +- name: Reload systemd + systemd: + daemon_reload: true + +- name: Restart mariadb.service + systemd: + name: mariadb.service + state: restarted diff --git a/mysql/tasks/main.yml b/mysql/tasks/main.yml index 999f564..fa4ae7c 100644 --- a/mysql/tasks/main.yml +++ b/mysql/tasks/main.yml @@ -62,3 +62,22 @@ file: path: /etc/cron.d/mysql-snapshot state: absent + +- name: Create mariadb.service override directory + file: + path: /etc/systemd/system/mariadb.service.d + state: directory + owner: root + group: root + mode: '0755' + +- name: Configure binlog + template: + src: override.conf + dest: /etc/systemd/system/mariadb.service.d/override.conf + owner: root + group: root + mode: '0644' + notify: + - Reload systemd + - Restart mariadb.service diff --git a/mysql/templates/override.conf b/mysql/templates/override.conf new file mode 100644 index 0000000..8db12af --- /dev/null +++ b/mysql/templates/override.conf @@ -0,0 +1,2 @@ +[Service] +Environment=MYSQLD_OPTS={{ '--log-bin' if mysql_enable_binlog }} -- GitLab