Fix sync backups files master -> slave

pull/38/head
Emilien Mantel 2019-12-28 14:11:45 +01:00
parent 5d444eec07
commit f6f29132a5
3 changed files with 30 additions and 19 deletions

View File

@ -29,8 +29,6 @@ Role Variables
### Configuration
- `mariadb_root_password`: root password (should be protected with [vault](http://docs.ansible.com/playbooks_vault.html))
If you need a feature you can't configure, you can use this list. These config will go to `/etc/mysql/conf.d/01-extra`.
- `mariadb_extra_config`: key/value hash see [default vars file](defaults/main.yml)

4
Vagrantfile vendored
View File

@ -21,11 +21,11 @@ Vagrant.configure("2") do |config|
# Default replication
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'default' }, groups: ['master'] },
# { os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['slave'] },
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['slave'] },
# Upstream replication
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'upstream' }, groups: ['master'] },
# { os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['slave'] },
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['slave'] },
# Galera Debian
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'default' }, groups: ['galera', '1'] },

View File

@ -5,25 +5,33 @@
host: "{{ mariadb_slave_import_from }}"
port: 22
- block:
- name: FILE | Create backup directory
file:
path: "{{ mariadb_backup_dir }}"
state: directory
- name: COMMAND | Prepare backup another server
command: mariabackup --backup {{ mariadb_backup_dir }}
command: "mariabackup --backup -u root --target-dir={{ mariadb_backup_dir }}"
args:
creates: "{{ mariadb_backup_dir }}"
delegate_to: "{{ mariadb_slave_import_from }}"
creates: "{{ mariadb_backup_dir }}/xtrabackup_info"
register: backup
- name: SHELL | Dump
shell: "mariabackup --prepare {{ mariadb_backup_dir }}"
delegate_to: "{{ mariadb_slave_import_from }}"
shell: "mariabackup --prepare --target-dir={{ mariadb_backup_dir }}"
when: backup.changed
register: prep
changed_when: "'This target seems to be not prepared yet' in prep.stderr"
- name: FILE | Remove mysql db from backup
file:
path: "{{ mariadb_backup_dir }}/mysql"
state: absent
delegate_to: "{{ mariadb_slave_import_from }}"
when: backup.changed and not mariadb_slave_replicate_mysqldb
delegate_to: "{{ mariadb_slave_import_from }}"
- name: MYSQL_VARIABLES | Get datadir
mysql_variables:
variable: datadir
@ -52,6 +60,11 @@
group: mysql
recurse: yes
- name: SHELL | Remove InnoDB redo logs
shell: "rm -f {{ mariadb_datadir }}/ib_logfile*"
args:
removes: "{{ mariadb_datadir }}/ib_logfile0"
- name: SERVICE | Start MariaDB
service:
name: mysql