title | summary |
---|---|
Special Handling of DM DDLs |
Learn how DM parses and handles DDL statements according to the statement types. |
When TiDB Data Migration (DM) migrates data, it parses the DDL statements and handles them according to the statement type and the current migration stage.
The following statements are not supported by DM, so DM skips them directly after parsing.
Description | SQL |
---|---|
transaction | ^SAVEPOINT |
skip all flush sqls | ^FLUSH |
table maintenance | ^OPTIMIZE\\s+TABLE |
^ANALYZE\\s+TABLE |
|
^REPAIR\\s+TABLE |
|
temporary table | ^DROP\\s+(\\/\\*\\!40005\\s+)?TEMPORARY\\s+(\\*\\/\\s+)?TABLE |
trigger | ^CREATE\\s+(DEFINER\\s?=.+?)?TRIGGER |
^DROP\\s+TRIGGER |
|
procedure | ^DROP\\s+PROCEDURE |
^CREATE\\s+(DEFINER\\s?=.+?)?PROCEDURE |
|
^ALTER\\s+PROCEDURE |
|
view | ^CREATE\\s*(OR REPLACE)?\\s+(ALGORITHM\\s?=.+?)?(DEFINER\\s?=.+?)?\\s+(SQL SECURITY DEFINER)?VIEW |
^DROP\\s+VIEW |
|
^ALTER\\s+(ALGORITHM\\s?=.+?)?(DEFINER\\s?=.+?)?(SQL SECURITY DEFINER)?VIEW |
|
function | ^CREATE\\s+(AGGREGATE)?\\s*?FUNCTION |
^CREATE\\s+(DEFINER\\s?=.+?)?FUNCTION |
|
^ALTER\\s+FUNCTION |
|
^DROP\\s+FUNCTION |
|
tableSpace | ^CREATE\\s+TABLESPACE |
^ALTER\\s+TABLESPACE |
|
^DROP\\s+TABLESPACE |
|
event | ^CREATE\\s+(DEFINER\\s?=.+?)?EVENT |
^ALTER\\s+(DEFINER\\s?=.+?)?EVENT |
|
^DROP\\s+EVENT |
|
account management | ^GRANT |
^REVOKE |
|
^CREATE\\s+USER |
|
^ALTER\\s+USER |
|
^RENAME\\s+USER |
|
^DROP\\s+USER |
|
^DROP\\s+USER |
The following statements are rewritten before being replicated to the downstream.
Original statement | Rewritten statement |
---|---|
^CREATE DATABASE... |
^CREATE DATABASE...IF NOT EXISTS |
^CREATE TABLE... |
^CREATE TABLE..IF NOT EXISTS |
^DROP DATABASE... |
^DROP DATABASE...IF EXISTS |
^DROP TABLE... |
^DROP TABLE...IF EXISTS |
^DROP INDEX... |
^DROP INDEX...IF EXISTS |
When DM merges and migrates tables in pessimistic or optimistic mode, the behavior of DDL replication is different from that in other scenarios. For details, refer to Pessimistic Mode and Optimistic Mode.
The Online DDL feature also handles DDL events in a special way. For details, refer to Migrate from Databases that Use GH-ost/PT-osc.