Fix sync backups files master -> slave
parent
5d444eec07
commit
f6f29132a5
|
@ -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)
|
||||
|
|
|
@ -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'] },
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue