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..
Argomenti
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 parametroreplicate-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 parametroreplicate-do-db
oreplicate-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 parametroreplicate-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 parametroreplicate-do-db
oreplicate-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 parametroreplicate-do-table
oreplicate-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 Configurazione della registrazione binaria di MariadB.
Nota
Tutte le istruzioni Data Definition Language (DDL) vengono replicate come istruzioni, indipendentemente dall'binlog_format
impostazione 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
ebinlog_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_table
e 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, utilizzareSHOW SLAVE STATUS
. -