pingcap / dm

Data Migration Platform
Apache License 2.0
456 stars 188 forks source link

detect Aurora/RDS flavor automatically #842

Open csuzhangxc opened 4 years ago

csuzhangxc commented 4 years ago

Feature Request

Is your feature request related to a problem? Please describe:

identify Aurora/RDS so we can do some special handle for them.

Describe the feature you'd like:

detect Aurora/RDS automatically as we did for `mysql`/`mariadb` `flavor`.

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

lance6716 commented 4 years ago

we could change and check aurora settings such as binlog retention hours, this feature is needed

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.RetainBinlogs seems max value is 2160 (90 days)

csuzhangxc commented 4 years ago

we could change aurora settings such as binlog retention hours, this feature is needed

@lance6716 Can we also set --consistency none automatically for Aurora or other cloud RDS, right?

lance6716 commented 4 years ago

we could change aurora settings such as binlog retention hours, this feature is needed

@lance6716 Can we also set --consistency none automatically for Aurora or other cloud RDS, right?

Yes, reduce user's action

lance6716 commented 4 years ago

aurora:

mysql> show variables like 'version';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 5.7.12 |
+---------------+--------+
1 row in set (0.45 sec)

mysql> select AURORA_VERSION();
+------------------+
| AURORA_VERSION() |
+------------------+
| 2.07.2           |
+------------------+
1 row in set (0.40 sec)

MySQL on AWS RDS:

mysql> show variables like 'version';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 5.7.31 |
+---------------+--------+
1 row in set (0.44 sec)

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.31    |
+-----------+
1 row in set (0.48 sec)

it's hard to auto detect MySQL on AWS RDS 🤔 may need user specify