Evaluation of Table-Level Replication Options


The slave checks for and evaluates table options only if no matching database options were found (see , "Evaluation of Database-Level Replication and Binary Logging Options").

First, as a preliminary condition, the slave checks whether statement-based replication is enabled. If so, and the statement occurs within a stored function, the slave executes the statement and exits. If row-based replication is enabled, the slave does not know whether a statement occurred within a stored function on the master, so this condition does not apply.Note

For statement-based replication, replication events represent statements (all changes making up a given event are associated with a single SQL statement); for row-based replication, each event represents a change in a single table row (thus a single statement such as UPDATE mytable SET mycol = 1 may yield many row-based events). When viewed in terms of events, the process of checking table options is the same for both row-based and statement-based replication.

Having reached this point, if there are no table options, the slave simply executes all events. If there are any --replicate-do-table or --replicate-wild-do-table options, the event must match one of these if it is to be executed; otherwise, it is ignored. If there are any --replicate-ignore-table or --replicate-wild-ignore-table options, all events are executed except those that match any of these options. This process is illustrated in the following diagram.Evaluation of Table-Level Filtering Rules in
 Replication

The following steps describe this evaluation in more detail:

  1. Are there any table options?
    • Yes. Continue to step 2.
    • No. Execute the event and exit.
  2. Are there any --replicate-do-table options?
    • Yes. Does the table match any of them?
      • Yes. Execute the event and exit.
      • No. Continue to step 3.
    • No. Continue to step 3.
  3. Are there any --replicate-ignore-table options?
    • Yes. Does the table match any of them?
      • Yes. Ignore the event and exit.
      • No. Continue to step 4.
    • No. Continue to step 4.
  4. Are there any --replicate-wild-do-table options?
    • Yes. Does the table match any of them?
      • Yes. Execute the event and exit.
      • No. Continue to step 5.
    • No. Continue to step 5.
  5. Are there any --replicate-wild-ignore-table options?
    • Yes. Does the table match any of them?
      • Yes. Ignore the event and exit.
      • No. Continue to step 6.
    • No. Continue to step 6.
  6. Are there any --replicate-do-table or --replicate-wild-do-table options?
    • Yes. Ignore the event and exit.
    • No. Execute the event and exit.

    Retornar