Aurora MySQL Replication Compatibility
NineData Data Replication supports Aurora MySQL as a source for structure replication, full replication, and incremental replication to Aurora MySQL or OceanBase MySQL. In this article, the MySQL-compatible source in the test reports is referred to as Aurora MySQL. The actual support scope depends on the task type, source and target versions, and precheck results in the current console.
| Source | Target | Structure replication | Full replication | Incremental replication |
|---|
| Aurora MySQL | Aurora MySQL | Supported | Supported | Supported |
| Aurora MySQL | OceanBase MySQL | Supported | Supported | Supported |
| Object or scenario | Aurora MySQL → Aurora MySQL | Aurora MySQL → OceanBase MySQL |
|---|
| Regular tables, including built-in and complex data types | Supported | Supported |
| Partitioned tables | Supported | Supported |
| Single-column integer, string, or time primary keys | Supported | Supported |
| Composite primary keys | Supported | Supported |
| Single-column or composite unique keys | Supported | Supported |
| Single-column or composite nullable unique keys | Supported | Supported |
| Tables with regular indexes or no indexes | Supported | Supported |
| Tables with no primary key and no unique key | Supported | Supported |
| Tables with both a primary key and a unique key | Supported | Supported |
CHECK constraints | Supported | Supported |
| Foreign-key dependencies and updates to foreign-key columns in parent and child tables | Supported | Supported |
| Object type | Aurora MySQL → Aurora MySQL | Aurora MySQL → OceanBase MySQL |
|---|
VIEW | Supported | Supported |
EVENT (one-time and recurring events) | Supported | Not supported |
TRIGGER | Supported | Not supported |
FUNCTION | Supported | Supported |
PROCEDURE | Supported | Not supported |
| Object name or mapping scenario | Aurora MySQL → Aurora MySQL | Aurora MySQL → OceanBase MySQL |
|---|
| Table or column names containing keywords | Supported | Supported |
| Table or column names containing Chinese characters | Supported | Supported |
| Table or column names containing special characters | Supported | Supported |
Case-sensitive object names, such as Aa_table | Supported | Supported |
| Database name mapping | Supported | Supported |
| Table name mapping | Supported | Supported |
| Column name mapping | Supported | Supported |
The following data types and the tested length, precision, fractional-seconds precision, character-set, collation, UNSIGNED, and ZEROFILL variants are supported.
| Type category | Coverage | Aurora MySQL → Aurora MySQL | Aurora MySQL → OceanBase MySQL |
|---|
| Numeric | TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT, DECIMAL, DEC, NUMERIC, FIXED, FLOAT, DOUBLE, DOUBLE PRECISION, REAL, BIT, BOOLEAN, and SERIAL | Supported | Supported |
| String and binary | CHAR, VARCHAR, CHARACTER VARYING, BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET, and JSON | Supported | Supported |
| Date and time | DATE, DATETIME, TIME, TIMESTAMP, and YEAR | Supported | Supported |
| Spatial | GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION | Supported | Supported |
Chinese characters, special characters, and emoji in replicated content are supported.
| DML operation | Aurora MySQL → Aurora MySQL | Aurora MySQL → OceanBase MySQL |
|---|
INSERT | Supported | Supported |
UPDATE | Supported | Supported |
DELETE | Supported | Supported |
Incremental DML is supported for numeric, string, date and time, and spatial data types.
| DDL operation or scenario | Support |
|---|
CREATE TABLE, DROP TABLE, and ALTER TABLE | Supported |
TRUNCATE TABLE and RENAME TABLE | Supported |
| DDL and DML executed in an interleaved sequence | Supported |
CREATE VIEW, DROP VIEW, and ALTER VIEW | Supported |
CREATE FUNCTION and DROP FUNCTION | Supported |
CREATE EVENT and DROP EVENT | Not supported |
CREATE TRIGGER, DROP TRIGGER, and ALTER TRIGGER | Not supported |
CREATE PROCEDURE and DROP PROCEDURE | Not supported |
| DDL operation or scenario | Support |
|---|
CREATE TABLE, DROP TABLE, and ALTER TABLE | Supported |
TRUNCATE TABLE and RENAME TABLE | Supported |
| DDL and DML executed in an interleaved sequence | Supported |
CREATE VIEW, DROP VIEW, and ALTER VIEW | Supported |
CREATE EVENT and DROP EVENT | Supported |
CREATE TRIGGER, DROP TRIGGER, and ALTER TRIGGER | Supported |
CREATE FUNCTION and DROP FUNCTION | Supported |
CREATE PROCEDURE and DROP PROCEDURE | Supported |
The table above lists the DDL support scope for Aurora MySQL to Aurora MySQL. Enable DDL replication in the task and pass the prechecks before you start replication.
- Add the source and target data sources to NineData and run the prechecks before creating a task.
- If the target is OceanBase MySQL, exclude or manually convert
EVENT, TRIGGER, and PROCEDURE objects before starting the task because incremental replication for these objects is not supported. - Handle DDL that is not listed in the table manually on the target, and confirm object mappings and dependencies before execution.
- For incremental replication, enable Binlog on the source, set
binlog_format to ROW, and set binlog_row_image to FULL. If the source is a standby database, enable log_slave_updates for the standby architecture.