Sources
MySQL
Learn how to use Artie to replicate data from MySQL via binlogs.
Required settings
- Host name
- Port (default is
3306
) - Service account
- Database name
- Database with
binlog_format
set torow
- Database with
binlog retention hours
set to at least 24 hours
- Database with
Creating a service account
CREATE USER 'artie_transfer' IDENTIFIED BY 'password';
GRANT SELECT, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO
'artie_transfer';
-- If you are using AWS RDS or Aurora
CALL mysql.rds_set_configuration('binlog retention hours', 24);
-- If you are using Azure
SET GLOBAL binlog_expire_logs_seconds = 604800;
-- You do not need to explicitly set this for Google CloudSQL or Generic MySQL`;
Enabling binlog (Amazon Aurora or RDS)
To enable binary logging, you will need to update your RDS instance’s parameter group.
To create a new parameter group: navigate to RDS
> Parameter groups
> click Create
.
For Aurora clusters, please ensure that you are creating this parameter group as DB cluster parameter group.
Once the parameter group is created, navigate to the parameter group and search for binlog_format
. Update the value to ROW
.
After updating the parameter group, you will need to restart your database so the changes can be picked up.
Setting a retention period for binlogs
The default value for binlog retention hours is NULL, which means they are not retained. We recommend setting this to a value that is at least 24 hours.
-- Setting binlog retention to 24 hours
CALL mysql.rds_set_configuration('binlog retention hours', 24);