Configurazione dei filtri di replica con MariaDB - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dei filtri di replica con MariaDB

Puoi utilizzare i filtri di replica per specificare quali database e tabelle vengono replicati con una replica di lettura. I filtri di replica possono includere database e tabelle nella replica o escluderli dalla replica.

Di seguito sono riportati alcuni casi d'uso per i filtri di replica:

  • Per ridurre le dimensioni di una replica di lettura. Con il filtro di replica è possibile escludere i database e le tabelle che non sono necessari nella replica di lettura.

  • Per escludere database e tabelle dalle repliche di lettura per motivi di sicurezza.

  • Per replicare database e tabelle diversi per casi d'uso specifici in repliche di lettura diverse. Ad esempio, è possibile utilizzare repliche di lettura specifiche per l'analisi o la condivisione.

  • Per un'istanza DB con repliche di lettura diverse Regioni AWS, per replicare database o tabelle diversi in diversi Regioni AWS.

Nota

Puoi utilizzare i filtri di replica anche per specificare i database e le tabelle che vengono replicati con un'istanza database MariaDB primaria configurata come replica in una topologia di replica in ingresso. Per ulteriori informazioni su questa configurazione, consulta Configurazione della replica della posizione del file di log binario con un'istanza di origine esterna..

Impostazione dei parametri di filtro di replica per MariadB RDS

Per configurare i filtri di replica, impostare i seguenti parametri di filtro replica sulla replica di lettura:

  • replicate-do-db – Replicare le modifiche ai database specificati. Quando si imposta questo parametro per una replica di lettura, vengono replicati solo i database specificati nel parametro.

  • replicate-ignore-db – Non replicare le modifiche ai database specificati. Quando il parametro replicate-do-db è impostato per una replica di lettura, questo parametro non viene valutato.

  • replicate-do-table – Replicare le modifiche alle tabelle specificate. Quando si imposta questo parametro per una replica di lettura, vengono replicate solo le tabelle specificate nel parametro. Inoltre, quando viene impostato il parametro replicate-do-db o replicate-ignore-db, assicurarsi di includere il database che include le tabelle specificate nella replica con la replica di lettura.

  • replicate-ignore-table – Non replicare le modifiche alle tabelle specificate. Quando il parametro replicate-do-table è impostato per una replica di lettura, questo parametro non viene valutato.

  • replicate-wild-do-table – Replicare le tabelle in base ai modelli di nome del database e della tabella specificati. I caratteri jolly % e _ sono supportati. Quando è impostato il parametro replicate-do-db o replicate-ignore-db, assicurarsi di includere il database che include le tabelle specificate nella replica con la replica di lettura.

  • replicate-wild-ignore-table – Non replicare le tabelle in base ai modelli di nomi di database e tabella specificati. I caratteri jolly % e _ sono supportati. Quando è impostato il parametro replicate-do-table o replicate-wild-do-table per una replica di lettura, questo parametro non viene valutato.

I parametri vengono valutati nell'ordine in cui sono elencati. Per maggiori informazioni sul funzionamento di questi parametri, consulta la documentazione di MariaDB.

Per impostazione predefinita, ognuno di questi parametri ha un valore vuoto. In ogni replica di lettura, è possibile utilizzare questi parametri per impostare, modificare ed eliminare i filtri di replica. Quando viene impostato uno di questi parametri, è necessario separare ogni filtro dagli altri con una virgola.

È possibile utilizzare i caratteri jolly % e _ nei parametri replicate-wild-do-table e replicate-wild-ignore-table. Il carattere jolly % corrisponde a un numero qualsiasi di caratteri e il carattere jolly _ corrisponde a un solo carattere.

Il formato di registrazione binaria dell'istanza database di origine è importante per la replica perché determina il record delle modifiche ai dati. L'impostazione del parametro binlog_format determina se la replica è basata su righe o basata su dichiarazione. Per ulteriori informazioni, consulta Formato di registrazione binario.

Nota

Tutte le istruzioni Data Definition Language (DDL) vengono replicate come istruzioni, indipendentemente dall'binlog_formatimpostazione sull'istanza DB di origine.

Limitazioni del filtro di replica per MariadB RDS

Le seguenti limitazioni si applicano al filtro di replica per RDS MariaDB:

  • Ogni parametro di filtro della replica ha un limite di 2.000 caratteri.

  • Le virgole non sono supportate nei filtri di replica.

  • Le opzioni MariaDB binlog_do_db e binlog_ignore_db per il filtro dei log binari non sono supportate.

  • Il filtro delle repliche non supporta le transazioni XA.

    Per ulteriori informazioni, consulta Restrizioni sulle transazioni XA nella documentazione personale. SQL

  • Il filtro di replica non è supportato per la versione 10.2 di RDS MariadB.

Esempi di filtri di replica per MariadB RDS

Per configurare il filtro di replica per una replica di lettura, modificare i parametri di filtro replica nel gruppo di parametri associato alla replica di lettura.

Nota

Non è consentito modificare un gruppo di parametri predefinito. Se la replica di lettura usa un gruppo di parametri predefinito, creare un nuovo gruppo di parametri e associarlo alla replica di lettura. Per ulteriori informazioni sui gruppi di parametri database, consulta Gruppi di parametri per RDS.

È possibile impostare i parametri in un gruppo di parametri utilizzando il AWS Management Console, AWS CLI, oppure RDSAPI. Per informazioni sull'estensione dei parametri consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS . Quando si impostano parametri in un gruppo di parametri, tutte le istanze DB associate al gruppo di parametri utilizzano le impostazioni dei parametri. Se si impostano i parametri di filtro della replica in un gruppo di parametri, assicurarsi che il gruppo di parametri sia associato solo alle repliche di lettura. Lasciare vuoti i parametri di filtro di replica per le istanze database di origine.

I seguenti esempi impostano i parametri utilizzando AWS CLI. Questi esempi sono impostati ApplyMethod immediate in modo che le modifiche ai parametri avvengano immediatamente dopo il completamento del CLI comando. Se si desidera applicare una modifica in sospeso dopo il riavvio della replica di lettura, impostare ApplyMethod su pending-reboot.

Gli esempi seguenti impostano i filtri di replica:

Esempio Inclusione dei database nella replica

Nell'esempio seguente sono inclusi i database mydb1 e mydb2 nella replica. Quando si imposta replicate-do-db per una replica di lettura, vengono replicati solo i database specificati nel parametro.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-do-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-do-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"
Esempio Inclusione delle tabelle nella replica

Nell'esempio seguente sono incluse le tabelle table1 e table2 nel database mydb1 nella replica.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-do-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-do-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"
Esempio Inclusione di tabelle nella replica utilizzando caratteri jolly

Nell'esempio seguente sono incluse tabelle con nomi che iniziano con orders e returns nel database mydb nella replica.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"
Esempio Escape di caratteri jolly nei nomi

Nell'esempio seguente viene illustrato come utilizzare il carattere escape \ per un carattere jolly che fa parte di un nome.

Si supponga di avere diversi nomi di tabelle nel database mydb1 che iniziano con my_tablee si desidera includere queste tabelle nella replica. I nomi delle tabelle includono un carattere di sottolineatura, che è anche un carattere jolly, quindi l'esempio sfugge al carattere di sottolineatura nei nomi delle tabelle.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "my\_table%", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "my\_table%", "ApplyMethod":"immediate"}]"
Esempio Esclusione di database dalla replica

Nell'esempio seguente vengono esclusi i database mydb1 e mydb2 dalla replica.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-ignore-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-ignore-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"
Esempio Esclusione di tabelle dalla replica

Nell'esempio seguente vengono escluse le tabelle table1 e table2 nel database mydb1 dalla replica.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-ignore-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-ignore-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"
Esempio Esclusione di tabelle dalla replica utilizzando caratteri jolly

Nell'esempio seguente vengono escluse le tabelle con nomi che iniziano con orders e returns nel database mydb dalla replica.

In Linux, macOS, oppure Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-ignore-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

In Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-ignore-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

Visualizzazione dei filtri di replica per una replica di lettura

È possibile visualizzare i filtri di replica per una replica di lettura nei seguenti modi:

  • Controllare le impostazioni dei parametri di filtro replica nel gruppo di parametri associato alla replica di lettura.

    Per istruzioni, consulta Visualizzazione dei valori dei parametri per un gruppo di parametri DB in Amazon RDS Amazon.

  • In un client MariaDB, connettersi alla replica di lettura ed eseguire l'istruzione SHOW REPLICA STATUS.

    Nell'output, i campi seguenti mostrano i filtri di replica per la replica di lettura:

    • Replicate_Do_DB

    • Replicate_Ignore_DB

    • Replicate_Do_Table

    • Replicate_Ignore_Table

    • Replicate_Wild_Do_Table

    • Replicate_Wild_Ignore_Table

    Per ulteriori informazioni su questi campi, vedere Verifica dello stato di replica nella SQL documentazione personale.

    Nota

    Le versioni precedenti di MariaDB utilizzavano SHOW SLAVE STATUS anziché SHOW REPLICA STATUS. Se si utilizza una versione di MariaDB precedente alla 10.5, utilizzare SHOW SLAVE STATUS.