https://blog.dbi-services.com/how-can-docker-help-a-mariadb-cluster-for-disaster-recovery/
This post is a work in progress ; On the above link is the original ideea ;
Mistakes or accidental data deletions can sometimes happen on a productive MariaDB Galera Cluster and this can be disastrous.
There are so many cases I have heard by customers and hereafter are some of the most common:
– dropping one column of a table
– dropping one table
– updating a big table without a where clause
What if it was possible to restore online a subset of data without downtime?
MariaDB preparation
We need some help from Docker ;
Using a delayed node (the helper), we can deploy a container with a delayed replication of 15minutes, but of course you can choose your own lags.
Using a delayed node (the helper), we can deploy a container with a delayed replication of 15minutes, but of course you can choose your own lags.
MariaDB > create user rpl_user@’192.168.56.%' IDENTIFIED BY 'manager';MariaDB > GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%’;MariaDB > show grants for 'rpl_user'@'’192.168.56.%';+-------------------------------------------------------------------------------------+| Grants for rpl_user@% |+-------------------------------------------------------------------------------------+| GRANT REPLICATION SLAVE ON *.* TO 'rpl_user'@'’192.168.56.%' |+-------------------------------------------------------------------------------------+
$ vi /storage/mariadb-slave-15m/mariadb.conf.d/my.cnf[mysqld]server_id=10015binlog_format=ROWlog_bin=binloglog_slave_updates=1relay_log=relay-binexpire_logs_days=7read_only=ON
The most important parameter is “MASTER_DELAY” as it determines the amount of time in seconds the slave should lag behind the master.
CHANGE MASTER TO MASTER_HOST = '192.168.56.203’, \
MASTER_USER = 'rpl_user', MASTER_PASSWORD = 'manager’, \
MASTER_DELAY=900;
START SLAVE
No comments:
Post a Comment