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=10015
binlog_format=ROW
log_bin=binlog
log_slave_updates=1
relay_log=relay-bin
expire_logs_days=7
read_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