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à.
Gestione della replica da più fonti
Le seguenti stored procedure configurano e gestiscono i canali di replica su una replica multi-source di RDS For MySQL. Per ulteriori informazioni, consulta Configurazione multi-source-replication per Amazon RDS for My SQL.
Queste stored procedure sono disponibili solo RDS per le istanze My SQL DB che eseguono le seguenti versioni del motore:
-
Tutte le versioni 8.4
8.0.35 e versioni secondarie successive
5.7.44 e versioni secondarie successive
Quando si utilizzano le stored procedure per gestire la replica con un utente di replica configurato concaching_sha2_passwword
, è necessario eseguire la configurazione specificando. TLS SOURCE_SSL=1
caching_sha2_password
è il plug-in di autenticazione predefinito RDS per My 8.4. SQL
Nota
Sebbene questa documentazione faccia riferimento alle istanze DB di origine come RDS per le istanze My SQL DB, queste procedure funzionano anche per le SQL istanze My in esecuzione all'esterno di Amazon. RDS
mysql.rds_next_source_log_for_channel
Modifica la posizione del log dell'istanza DB di origine all'inizio del log binario successivo sull'istanza DB di origine per il canale. Utilizzate questa procedura solo se ricevete l'errore di I/O di replica 1236 su una replica da più fonti.
Sintassi
CALL mysql.rds_next_source_log_for_channel(
curr_master_log
,channel_name
);
Parametri
-
curr_master_log
-
L'indice del file di log di origine corrente. Ad esempio, se il file corrente è denominato
mysql-bin-changelog.012345
, l'indice è 12345. Per determinare il nome del file di log di origine corrente, esegui il comandoSHOW REPLICA STATUS FOR CHANNEL '
e visualizza il campochannel_name
'Source_Log_File
. -
channel_name
-
Il nome del canale di replica sulla replica da più fonti. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_next_source_log_for_channel
deve essere eseguita dall'utente master. Se si verifica un errore IO_Thread, ad esempio, è possibile utilizzare questa procedura per ignorare tutti gli eventi nel file di registro binario corrente e riprendere la replica dal file di registro binario successivo per il canale specificato in. channel_name
Esempio
Supponiamo che la replica fallisca su un canale su una replica con più sorgenti. L'esecuzione SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G
sulla replica da più fonti restituisce il seguente risultato:
mysql> SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G *************************** 1. row *************************** Replica_IO_State: Waiting for source to send event Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: ReplicationUser Source_Port: 3306 Connect_Retry: 60 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: replica-relay-bin.000003 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB:. . . Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: . . Channel_name: channel_1 . . -- Some fields are omitted in this example output
Il campo Last_IO_Errno
mostra che l'istanza riceve l'errore I/O 1236. Il campo Source_Log_File
mostra che il nome di file è mysql-bin-changelog.012345
, il che significa che l'indice del file di log è 12345
. Per risolvere l'errore, puoi chiamare mysql.rds_next_source_log_for_channel
con i seguenti parametri:
CALL mysql.rds_next_source_log_for_channel(12345,'channel_1');
mysql.rds_reset_external_source_for_channel
Interrompe il processo di replica sul canale specificato e rimuove il canale e le configurazioni associate dalla replica da più fonti.
Importante
Per eseguire questa procedura, è necessario abilitare autocommit
. Per abilitarlo, impostare il parametro autocommit
su 1
. Per ulteriori informazioni sulla modifica dei parametri, consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .
Sintassi
CALL mysql.rds_reset_external_source_for_channel (
channel_name
);
Parametri
-
channel_name
-
Il nome del canale di replica sulla replica multisorgente. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_reset_external_source_for_channel
deve essere eseguita dall'utente master. Questa procedura elimina tutti i relay log che appartengono al canale da rimuovere.
mysql.rds_set_external_source_for_channel
Configura un canale di replica su un'istanza RDS for My SQL DB per replicare i dati da un'altra istanza for My DB. RDS SQL
Importante
Per eseguire questa procedura, è necessario abilitare autocommit
. Per abilitarlo, impostare il parametro autocommit
su 1
. Per ulteriori informazioni sulla modifica dei parametri, consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .
Nota
È possibile utilizzare invece la mysql.rds_set_external_source_with_delay_for_channel stored procedure per configurare questo canale con una replica ritardata.
Sintassi
CALL mysql.rds_set_external_source_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
,channel_name
);
Parametri
-
host_name
-
Il nome host o l'indirizzo IP dell'istanza DB RDS for My SQL source.
-
host_port
-
La porta utilizzata dall'istanza DB RDS for My SQL source. Se la configurazione di rete include la replica delle porte Secure Shell (SSH) che converte il numero di porta, specifica il numero di porta da cui è esposto. SSH
-
replication_user_name
-
L'ID di un utente con
REPLICATION CLIENT
eREPLICATION SLAVE
le autorizzazioni sull'istanza DB RDS for My SQL source. Si consiglia di fornire un account utilizzato esclusivamente per la replica con l'istanza DB di origine. -
replication_user_password
-
La password dell'ID utente specificata in
replication_user_name
. -
mysql_binary_log_file_name
-
Il nome del log binario sull'istanza DB di origine che contiene le informazioni di replica.
-
mysql_binary_log_file_location
-
La posizione nel log binario
mysql_binary_log_file_name
a partire dalla quale la replica inizia a leggere le informazioni a essa relative.È possibile determinare il nome e la posizione del file binlog eseguendolo
SHOW BINARY LOG STATUS
sull'istanza DB di origine.Nota
Le versioni precedenti di My SQL utilizzavano
SHOW MASTER STATUS
invece di.SHOW BINARY LOG STATUS
Se utilizzi una SQL versione My precedente alla 8.4, utilizzaSHOW MASTER STATUS
. -
ssl_encryption
-
Un valore che specifica se la crittografia Secure Socket Layer (SSL) viene utilizzata sulla connessione di replica. 1 specifica di utilizzare la SSL crittografia, 0 specifica di non utilizzare la crittografia. Il valore predefinito è 0.
Nota
L'opzione
SOURCE_SSL_VERIFY_SERVER_CERT
non è supportata. Questa opzione è impostata su 0, il che significa che la connessione è crittografata, ma i certificati non sono verificati. -
channel_name
-
Il nome del canale di replica. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_set_external_source_for_channel
deve essere eseguita dall'utente master. Questa procedura deve essere eseguita sulla destinazione RDS dell'istanza My SQL DB su cui si sta creando il canale di replica.
Prima dell'esecuzionemysql.rds_set_external_source_for_channel
, configura un utente di replica sull'istanza DB di origine con i privilegi richiesti per la replica da più fonti. Per connettere la replica multisorgente all'istanza DB di origine, è necessario specificare replication_user_password
i valori di un utente di replica che dispone REPLICATION CLIENT
delle autorizzazioni replication_user_name
e delle autorizzazioni per l'istanza DB di origine. REPLICATION SLAVE
Per configurare un utente di replica sull'istanza DB di origine
Utilizzando il SQL client My di tua scelta, connettiti all'istanza DB di origine e crea un account utente da utilizzare per la replica. Di seguito è riportato un esempio.
Importante
Come procedura consigliata in materia di sicurezza, specificate una password diversa dal valore segnaposto mostrato negli esempi seguenti.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';Sull'istanza DB di origine, concedi
REPLICATION CLIENT
eREPLICATION SLAVE
privilegi all'utente di replica. L'esempio seguente concede i privilegiREPLICATION CLIENT
eREPLICATION SLAVE
su tutti i database per l'utente "repl_user" del dominio:GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Per utilizzare la replica crittografata, configura l'istanza DB di origine per utilizzare le connessioni. SSL
Dopo aver chiamato mysql.rds_set_external_source_for_channel
per configurare questo canale di replica, puoi chiamare la replica per avviare il processo di replica mysql.rds_start_replication_for_channel sul canale. È possibile effettuare una chiamata mysql.rds_reset_external_source_for_channel per interrompere la replica sul canale e rimuovere la configurazione del canale dalla replica.
Quando effettui una chiamatamysql.rds_set_external_source_for_channel
, Amazon RDS registra l'ora, l'utente e un'azione set channel source
nella mysql.rds_history
tabella senza dettagli specifici del canale e nella mysql.rds_replication_status
tabella, con il nome del canale. Queste informazioni vengono registrate solo per uso interno e scopi di monitoraggio. Per registrare l'intera procedura chiamata ai fini del controllo, prendete in considerazione la possibilità di abilitare i registri di controllo o i registri generali, in base ai requisiti specifici dell'applicazione.
Esempi
Quando viene eseguito su un'istanza RDS for My SQL DB, l'esempio seguente configura un canale di replica denominato channel_1
su questa istanza DB per replicare i dati dalla fonte specificata da host e porta. sourcedb.example.com
3306
call mysql.rds_set_external_source_for_channel( 'sourcedb.example.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0, 'channel_1');
mysql.rds_set_external_source_with_auto_position_for_channel
Configura un canale di replica su un'istanza RDS for My SQL DB con un ritardo di replica opzionale. La replica si basa sugli identificatori di transazione globali (). GTIDs
Importante
Per eseguire questa procedura, è necessario abilitare autocommit
. Per abilitarlo, impostare il parametro autocommit
su 1
. Per ulteriori informazioni sulla modifica dei parametri, consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .
Sintassi
CALL mysql.rds_set_external_source_with_auto_position_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
,delay
,channel_name
);
Parametri
-
host_name
-
Il nome host o l'indirizzo IP dell'istanza DB RDS for My SQL source.
-
host_port
-
La porta utilizzata dall'istanza DB RDS for My SQL source. Se la configurazione di rete include la replica delle porte Secure Shell (SSH) che converte il numero di porta, specifica il numero di porta da cui è esposto. SSH
-
replication_user_name
-
L'ID di un utente con
REPLICATION CLIENT
eREPLICATION SLAVE
le autorizzazioni sull'istanza DB RDS for My SQL source. Si consiglia di fornire un account utilizzato esclusivamente per la replica con l'istanza DB di origine. -
replication_user_password
-
La password dell'ID utente specificata in
replication_user_name
. -
ssl_encryption
-
Un valore che specifica se la crittografia Secure Socket Layer (SSL) viene utilizzata sulla connessione di replica. 1 specifica di utilizzare la SSL crittografia, 0 specifica di non utilizzare la crittografia. Il valore predefinito è 0.
Nota
L'opzione
SOURCE_SSL_VERIFY_SERVER_CERT
non è supportata. Questa opzione è impostata su 0, il che significa che la connessione è crittografata, ma i certificati non sono verificati. -
delay
-
Il numero minimo di secondi per ritardare la replica dall'istanza DB di origine.
Il limite per questo parametro è un giorno (86400 secondi).
-
channel_name
-
Il nome del canale di replica. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_set_external_source_with_auto_position_for_channel
deve essere eseguita dall'utente master. Questa procedura deve essere eseguita sulla destinazione RDS dell'istanza My SQL DB su cui si sta creando il canale di replica.
Prima dell'esecuzionerds_set_external_source_with_auto_position_for_channel
, configura un utente di replica sull'istanza DB di origine con i privilegi richiesti per la replica da più fonti. Per connettere la replica multisorgente all'istanza DB di origine, è necessario specificare replication_user_password
i valori di un utente di replica che dispone REPLICATION CLIENT
delle autorizzazioni replication_user_name
e delle autorizzazioni per l'istanza DB di origine. REPLICATION SLAVE
Per configurare un utente di replica sull'istanza DB di origine
Utilizzando il SQL client My di tua scelta, connettiti all'istanza DB di origine e crea un account utente da utilizzare per la replica. Di seguito è riportato un esempio.
Importante
Come procedura consigliata per la sicurezza, specificate una password diversa dal valore segnaposto mostrato negli esempi seguenti.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';Sull'istanza DB di origine, concedi
REPLICATION CLIENT
eREPLICATION SLAVE
privilegi all'utente di replica. L'esempio seguente concede i privilegiREPLICATION CLIENT
eREPLICATION SLAVE
su tutti i database per l'utente "repl_user" del dominio:GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Per utilizzare la replica crittografata, configura l'istanza DB di origine per utilizzare le connessioni. SSL
Prima di chiamaremysql.rds_set_external_source_with_auto_position_for_channel
, assicuratevi di effettuare la chiamata mysql.rds_set_external_source_gtid_purged per impostare la variabile di gtid_purged
sistema con un GTID intervallo specificato da una fonte esterna.
Dopo aver chiamato mysql.rds_set_external_source_with_auto_position_for_channel
per configurare un'istanza Amazon RDS DB come replica di lettura su un canale specifico, puoi chiamare mysql.rds_start_replication_for_channel la replica di lettura per avviare il processo di replica su quel canale.
Dopo aver chiamato mysql.rds_set_external_source_with_auto_position_for_channel
per configurare questo canale di replica, puoi chiamare la replica per avviare il processo di replica mysql.rds_start_replication_for_channel sul canale. È possibile effettuare una chiamata mysql.rds_reset_external_source_for_channel per interrompere la replica sul canale e rimuovere la configurazione del canale dalla replica.
Esempi
Quando viene eseguito su un'istanza RDS for My SQL DB, l'esempio seguente configura un canale di replica denominato channel_1
su questa istanza DB per replicare i dati dall'origine specificata dall'host sourcedb.example.com
e dalla porta3306
. Imposta il ritardo minimo di replica su un'ora (3.600 secondi). Ciò significa che una modifica dall'origine RDS per l'istanza My SQL DB non viene applicata alla replica multisorgente per almeno un'ora.
call mysql.rds_set_external_source_with_auto_position_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 1, 3600, 'channel_1');
mysql.rds_set_external_source_with_delay_for_channel
Configura un canale di replica su un'istanza RDS for My SQL DB con un ritardo di replica specificato.
Importante
Per eseguire questa procedura, è necessario abilitare autocommit
. Per abilitarlo, impostare il parametro autocommit
su 1
. Per ulteriori informazioni sulla modifica dei parametri, consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .
Sintassi
CALL mysql.rds_set_external_source_with_delay_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
,delay
,channel_name
);
Parametri
-
host_name
-
Il nome host o l'indirizzo IP dell'istanza DB RDS for My SQL source.
-
host_port
-
La porta utilizzata dall'istanza DB RDS for My SQL source. Se la configurazione di rete include la replica delle porte Secure Shell (SSH) che converte il numero di porta, specifica il numero di porta da cui è esposto. SSH
-
replication_user_name
-
L'ID di un utente con
REPLICATION CLIENT
eREPLICATION SLAVE
le autorizzazioni sull'istanza DB RDS for My SQL source. Si consiglia di fornire un account utilizzato esclusivamente per la replica con l'istanza DB di origine. -
replication_user_password
-
La password dell'ID utente specificata in
replication_user_name
. -
mysql_binary_log_file_name
-
Il nome del log binario sull'istanza DB di origine contiene le informazioni di replica.
-
mysql_binary_log_file_location
-
Posizione nel log binario
mysql_binary_log_file_name
a partire dalla quale la replica inizierà a leggere le informazioni di replica.È possibile determinare il nome e la posizione del file binlog in esecuzione
SHOW BINARY LOG STATUS
sull'istanza del database di origine.Nota
Le versioni precedenti di My SQL utilizzavano
SHOW MASTER STATUS
invece di.SHOW BINARY LOG STATUS
Se utilizzi una SQL versione My precedente alla 8.4, utilizzaSHOW MASTER STATUS
. -
ssl_encryption
-
Un valore che specifica se la crittografia Secure Socket Layer (SSL) viene utilizzata sulla connessione di replica. 1 specifica di utilizzare la SSL crittografia, 0 specifica di non utilizzare la crittografia. Il valore predefinito è 0.
Nota
L'opzione
SOURCE_SSL_VERIFY_SERVER_CERT
non è supportata. Questa opzione è impostata su 0, il che significa che la connessione è crittografata, ma i certificati non sono verificati. -
delay
-
Il numero minimo di secondi per ritardare la replica dall'istanza DB di origine.
Il limite per questo parametro è un giorno (86400 secondi).
-
channel_name
-
Il nome del canale di replica. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_set_external_source_with_delay_for_channel
deve essere eseguita dall'utente master. Questa procedura deve essere eseguita sulla destinazione RDS dell'istanza My SQL DB su cui si sta creando il canale di replica.
Prima dell'esecuzionemysql.rds_set_external_source_with_delay_for_channel
, configura un utente di replica sull'istanza DB di origine con i privilegi richiesti per la replica da più fonti. Per connettere la replica multisorgente all'istanza DB di origine, è necessario specificare replication_user_password
i valori di un utente di replica che dispone REPLICATION CLIENT
delle autorizzazioni replication_user_name
e delle autorizzazioni per l'istanza DB di origine. REPLICATION SLAVE
Per configurare un utente di replica sull'istanza DB di origine
Utilizzando il SQL client My di tua scelta, connettiti all'istanza DB di origine e crea un account utente da utilizzare per la replica. Di seguito è riportato un esempio.
Importante
Come procedura consigliata per la sicurezza, specificate una password diversa dal valore segnaposto mostrato negli esempi seguenti.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';Sull'istanza DB di origine, concedi
REPLICATION CLIENT
eREPLICATION SLAVE
privilegi all'utente di replica. L'esempio seguente concede i privilegiREPLICATION CLIENT
eREPLICATION SLAVE
su tutti i database per l'utente "repl_user" del dominio:GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Per utilizzare la replica crittografata, configura l'istanza DB di origine per utilizzare le connessioni. SSL
Dopo aver chiamato mysql.rds_set_external_source_with_delay_for_channel
per configurare questo canale di replica, puoi chiamare la replica per avviare il processo di replica mysql.rds_start_replication_for_channel sul canale. È possibile effettuare una chiamata mysql.rds_reset_external_source_for_channel per interrompere la replica sul canale e rimuovere la configurazione del canale dalla replica.
Quando effettui una chiamatamysql.rds_set_external_source_with_delay_for_channel
, Amazon RDS registra l'ora, l'utente e un'azione set channel source
nella mysql.rds_history
tabella senza dettagli specifici del canale e nella mysql.rds_replication_status
tabella, con il nome del canale. Queste informazioni vengono registrate solo per uso interno e scopi di monitoraggio. Per registrare l'intera procedura chiamata ai fini del controllo, prendete in considerazione la possibilità di abilitare i registri di controllo o i registri generali, in base ai requisiti specifici dell'applicazione.
Esempi
Quando viene eseguito su un'istanza RDS for My SQL DB, l'esempio seguente configura un canale di replica denominato channel_1
su questa istanza DB per replicare i dati dall'origine specificata dall'host sourcedb.example.com
e dalla porta3306
. Imposta il ritardo minimo di replica su un'ora (3.600 secondi). Ciò significa che una modifica dall'origine RDS per l'istanza My SQL DB non viene applicata alla replica multisorgente per almeno un'ora.
call mysql.rds_set_external_source_with_delay_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000777', 120, 1, 3600, 'channel_1');
mysql.rds_set_source_auto_position_for_channel
Imposta la modalità di replica per il canale specificato in modo che sia basata sulle posizioni dei file di registro binari o sugli identificatori globali delle transazioni (). GTIDs
Sintassi
CALL mysql.rds_set_source_auto_position_for_channel (
auto_position_mode
,channel_name
);
Parametri
-
auto_position_mode
-
Un valore che indica se utilizzare la replica della posizione dei file di registro o GTID la replica basata:
-
0
– Usa il metodo di replica basato sulla posizione del file di log binario. Il valore di default è0
. -
1
— Utilizzare il metodo di replica GTID basato.
-
-
channel_name
-
Il nome del canale di replica sulla replica da più fonti. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_set_source_auto_position_for_channel
deve essere eseguita dall'utente master. Questa procedura riavvia la replica sul canale specificato per applicare la modalità di posizionamento automatico specificata.
Esempi
L'esempio seguente imposta la modalità di posizionamento automatico per channel_1 per utilizzare il metodo di GTID replica basato.
call mysql.rds_set_source_auto_position_for_channel(1,'channel_1');
mysql.rds_set_source_delay_for_channel
Imposta il numero minimo di secondi per ritardare la replica dall'istanza del database di origine alla replica multisorgente per il canale specificato.
Sintassi
CALL mysql.rds_set_source_delay_for_channel(
delay
,channel_name
);
Parametri
-
delay
-
Il numero minimo di secondi per ritardare la replica dall'istanza DB di origine.
Il limite per questo parametro è un giorno (86400 secondi).
-
channel_name
-
Il nome del canale di replica sulla replica multisorgente. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_set_source_delay_for_channel
deve essere eseguita dall'utente master. Per utilizzare questa procedura, è necessario innanzitutto effettuare una chiamata mysql.rds_stop_replication_for_channel
per interrompere la replica. Quindi, richiamate questa procedura per impostare il valore del ritardo di replica. Quando il ritardo è impostato, chiama mysql.rds_start_replication_for_channel
per riavviare la replica.
Esempi
L'esempio seguente imposta il ritardo per la replica dall'istanza del database channel_1
di origine sulla replica multisorgente per almeno un'ora (3.600 secondi).
CALL mysql.rds_set_source_delay_for_channel(3600,'channel_1');
mysql.rds_skip_repl_error_for_channel
Ignora un evento di log binario ed elimina un errore di replica su una replica multi-sorgente My SQL DB per il canale specificato.
Sintassi
CALL mysql.rds_skip_repl_error_for_channel(
channel_name
);
Parametri
-
channel_name
-
Il nome del canale di replica sulla replica multisorgente. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_skip_repl_error_for_channel
deve essere eseguita dall'utente master su una replica di lettura. È possibile utilizzare questa procedura in modo simile a quello mysql.rds_skip_repl_error
utilizzato per ignorare un errore in una replica di lettura. Per ulteriori informazioni, consulta Chiamata della procedura mysql.rds_skip_repl_error.
Nota
Per determinare se sono presenti errori, eseguire il comando My SQLSHOW REPLICA STATUS FOR CHANNEL '
. Se un errore di replica non è critico, puoi eseguire channel_name
'\Gmysql.rds_skip_repl_error_for_channel
per ignorare l'errore. Se sono presenti più errori, mysql.rds_skip_repl_error_for_channel
elimina il primo errore sul canale di replica specificato, quindi avvisa che ne sono presenti altri. Puoi quindi utilizzare SHOW REPLICA STATUS FOR CHANNEL '
per determinare l'operazione corretta per l'errore successivo. Per informazioni sui valori restituiti, vedere l'SHOWREPLICASTATUSistruzione nella documentazionechannel_name
'\G
mysql.rds_start_replication_for_channel
Avvia la replica da un'istanza RDS for My SQL DB a una replica da più fonti sul canale specificato.
Nota
È possibile utilizzare la procedura mysql.rds_start_replication_until_for_channel or mysql.rds_start_replication_until_gtid_for_channel stored per avviare la replica da un'istanza RDS for My SQL DB e interrompere la replica nella posizione specificata del file di log binario.
Sintassi
CALL mysql.rds_start_replication_for_channel(
channel_name
);
Parametri
-
channel_name
-
Il nome del canale di replica sulla replica da più fonti. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_start_replication_for_channel
deve essere eseguita dall'utente master. Dopo aver importato i dati dall'origine RDS per l'istanza My SQL DB, esegui questo comando sulla replica da più fonti per avviare la replica sul canale specificato.
Esempi
L'esempio seguente avvia la replica sulla replica da più channel_1
fonti.
CALL mysql.rds_start_replication_for_channel('channel_1');
mysql.rds_start_replication_until_for_channel
Avvia la replica da un'istanza RDS for My SQL DB sul canale specificato e interrompe la replica nella posizione specificata del file di log binario.
Sintassi
CALL mysql.rds_start_replication_until_for_channel (
replication_log_file
,replication_stop_point
,channel_name
);
Parametri
-
replication_log_file
-
Il nome del log binario sull'istanza DB di origine contiene le informazioni di replica.
-
replication_stop_point
-
Posizione nel log binario
replication_log_file
in corrispondenza di cui la replica verrà arrestata. -
channel_name
-
Il nome del canale di replica sulla replica multisorgente. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_start_replication_until_for_channel
deve essere eseguita dall'utente master. Con questa procedura, la replica viene avviata e quindi interrotta quando viene raggiunta la posizione del file binlog specificata. Questa procedura arresta sia la che la. SQL_THREAD
IO_THREAD
Il nome di file specificato per il replication_log_file
parametro deve corrispondere al nome del file binlog dell'istanza DB di origine.
Quando il replication_stop_point
parametro specifica una posizione di arresto che appartiene al passato, la replica viene interrotta immediatamente.
Esempi
L'esempio seguente avvia la replica e replica le modifiche fino a raggiungere la posizione 120
nel file di registro binario. channel_1
mysql-bin-changelog.000777
call mysql.rds_start_replication_until_for_channel( 'mysql-bin-changelog.000777', 120, 'channel_1' );
mysql.rds_start_replication_until_gtid_for_channel
Avvia la replica sul canale specificato da un'istanza RDS for My SQL DB e interrompe la replica in corrispondenza dell'identificatore globale di transazione specificato (). GTID
Sintassi
CALL mysql.rds_start_replication_until_gtid_for_channel(
gtid
,channel_name
);
Parametri
-
gtid
-
Il GTID dopo il quale interrompere la replica.
-
channel_name
-
Il nome del canale di replica sulla replica da più fonti. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_start_replication_until_gtid_for_channel
deve essere eseguita dall'utente master. La procedura avvia la replica sul canale specificato e applica tutte le modifiche fino al valore specificatoGTID. Quindi, interrompe la replica sul canale.
Quando il parametro gtid
specifica una transazione che è già stata eseguita dalla replica, la procedura viene arrestata immediatamente.
Prima di eseguire questa procedura, è necessario disabilitare la replica multithread impostando il valore di o su. replica_parallel_workers
slave_parallel_workers
0
Esempi
L'esempio seguente avvia la replica e replica le modifiche fino a channel_1
quando non raggiunge. GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
call mysql.rds_start_replication_until_gtid_for_channel('3E11FA47-71CA-11E1-9E33-C80AA9429562:23','channel_1');
mysql.rds_stop_replication_for_channel
Interrompe la replica da un'istanza My SQL DB sul canale specificato.
Sintassi
CALL mysql.rds_stop_replication_for_channel(
channel_name
);
Parametri
-
channel_name
-
Il nome del canale di replica sulla replica multisorgente. Ogni canale di replica riceve gli eventi del registro binario da un'unica fonte RDS per l'istanza My SQL DB in esecuzione su un host e una porta specifici.
Note per l'utilizzo
La procedura mysql.rds_stop_replication_for_channel
deve essere eseguita dall'utente master.
Esempi
L'esempio seguente interrompe la replica sulla channel_1
replica da più fonti.
CALL mysql.rds_stop_replication_for_channel('channel_1');