RDS MariaDB source setup guide
This is a step-by-step guide on how to configure your RDS MariaDB instance for replicating its data via the MySQL ClickPipe.
We also recommend going through the MySQL FAQs here. The FAQs page is being actively updated.
Enable binary log retention
The binary log is a set of log files that contain information about data modifications made to an MySQL server instance, and binary log files are required for replication. Both of the below steps must be followed:
1. Enable binary logging via automated backup
The automated backups feature determines whether binary logging is turned on or off for MySQL. It can be set in the AWS console:
Setting backup retention to a reasonably long value depending on the replication use-case is advisable.
2. Binlog retention hours
The default value of binlog retention hours is NULL. For RDS for MariaDB, NULL means binary logs aren't retained. To specify the number of hours to retain binary logs on a DB instance, use the mysql.rds_set_configuration with a period with enough time for replication to occur:
Configure binlog settings in the parameter group
The parameter group can be found when you click on your MariaDB instance in the RDS Console, and then heading over to the Configurations
tab.
Upon clicking on the parameter group link, you will be taken to the page for it. You will see an Edit button in the top-right.
The following settings need to be set as follows:
binlog_format
toROW
.
binlog_row_metadata
toFULL
binlog_row_image
toFULL
Then click on Save Changes
in the top-right. You may need to reboot your instance for the changes to take effect - a way of knowing this is if you see Pending reboot
next to the parameter group link in the Configurations tab of the RDS instance.
If you have a MariaDB cluster, the above parameters would be found in a DB Cluster parameter group and not the DB instance group.
Enabling GTID Mode
Global Transaction Identifiers (GTIDs) are unique IDs assigned to each committed transaction in MySQL/MariaDB. They simplify binlog replication and make troubleshooting more straightforward. MariaDB enables GTID mode by default, so no user action is needed to use it.
Configure a database user
Connect to your RDS MariaDB instance as an admin user and execute the following commands:
-
Create a dedicated user for ClickPipes:
-
Grant schema permissions. The following example shows permissions for the
mysql
database. Repeat these commands for each database and host you want to replicate: -
Grant replication permissions to the user:
Configure network access
IP-based access control
If you want to restrict traffic to your RDS instance, please add the documented static NAT IPs to the Inbound rules
of your RDS security group.
Private access via AWS PrivateLink
To connect to your RDS instance through a private network, you can use AWS PrivateLink. Follow our AWS PrivateLink setup guide for ClickPipes to set up the connection.