diff --git a/mysql/defaults/main.yml b/mysql/defaults/main.yml index 38ce525a10fbcf767b2a5c930433540057d3d05c..996a3c54b3bc49d1d284e825f88592a308844c6f 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 0000000000000000000000000000000000000000..1d24e328fac09656147134d8147563a698003e29 --- /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 999f5648a64ba9d8906baa34d2f3f7b2f27bbd2e..fa4ae7c1c128668024a9a2e3bd5dcfd6eeb26fd1 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 0000000000000000000000000000000000000000..8db12afa1994ac7e9f94836952d92c36d6b31ea0 --- /dev/null +++ b/mysql/templates/override.conf @@ -0,0 +1,2 @@ +[Service] +Environment=MYSQLD_OPTS={{ '--log-bin' if mysql_enable_binlog }}