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 della replica basata su GTID con un'istanza di origine esterna
Puoi impostare la replica basata su identificatori di transazione globali (GTID) da un'istanza MariaDB esterna nella versione 10.0.24 o successiva in un'istanza database RDS for MariaDB. Seguire queste linee guida quando si imposta un'istanza di origine esterna e una replica su Amazon RDS:
Monitora gli eventi di failover per l'istanza database RDS for MariaDB che rappresenta la tua replica. In caso di failover, l'istanza database che rappresenta la replica potrebbe essere ricreata in un nuovo host con un indirizzo di rete diverso. Per informazioni su come monitorare gli eventi di failover, consulta Utilizzo delle notifiche di RDS eventi di Amazon.
Conservare i log binari (binlog) sull'istanza di origine finché non si ha la conferma che siano stati applicati alla replica. Questa manutenzione assicura il ripristino dell'istanza di origine nel caso di errori.
Attivare i backup automatici sull'istanza database MariaDB in Amazon RDS. L'attivazione dei backup automatici assicura il ripristino della replica in un determinato "point in time" nel caso fosse necessario risincronizzare l'istanza di origine e la replica. Per informazioni sui backup e sul ripristino point-in-time, consulta Backup, ripristino ed esportazione dei dati.
Nota
Le autorizzazioni necessarie per avviare la replica in un'istanza database MariaDB sono limitate e non disponibili per l'utente master Amazon RDS. Per questo motivo, devi usare i comandi Amazon RDS, mysql.rds_set_external_master_gtid e mysql.rds_start_replication per configurare la replica tra il database live e il database di RDS for MariaDB.
Per avviare la replica tra un'istanza di origine esterna e un'istanza database MariaDB in Amazon RDS, attieniti alla procedura seguente.
Per avviare la replica
-
Rendere di sola lettura l'istanza MariaDB di origine:
mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON;
-
Ottenere il GTID corrente dell'istanza MariaDB esterna. A tale scopo, utilizzare
mysql
o l'editor di query scelto per eseguireSELECT @@gtid_current_pos;
.Il formato del GTID è il seguente:
<domain-id>-<server-id>-<sequence-id>
. Un tipico GTID è simile a0-1234510749-1728
. Per ulteriori informazioni sui GTID e sulle parti da cui è composto, consulta la pagina Global Transaction IDnella documentazione di MariaDB. -
Copiare il database dall'istanza MariaDB esterna all'istanza database MariaDB tramite
mysqldump
. Per database di dimensioni particolarmente elevate, è possibile utilizzare la procedura in Importazione dei dati in un database Amazon RDS MariaDB o MySQL con tempi di inattività ridotti.Per LinuxmacOS, oUnix:
mysqldump \ --databases
database_name
\ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql \ --host=hostname \ --port=3306 \ -uRDS_user_name
\ -pRDS_password
Per Windows:
mysqldump ^ --databases
database_name
^ --single-transaction ^ --compress ^ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql ^ --host=hostname ^ --port=3306 ^ -uRDS_user_name
^ -pRDS_password
Nota
Assicurarsi che non siano presenti spazi tra l'opzione
-p
e la password immessa.Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
Usare le opzioni
--host
,--user (-u)
,--port
e-p
nel comandomysql
per specificare il nome host, il nome utente, la porta e la password per la connessione all'istanza database MariaDB. Il nome host è il nome DNS dell'endpoint dell'istanza database MariaDB, ad esempiomyinstance.123456789012.us-east-1.rds.amazonaws.com
. Puoi trovare il valore dell'endpoint è disponibile nei dettagli dell'istanza, nella console di gestione Amazon RDS. -
Rendi nuovamente scrivibile l'istanza MariaDB di origine.
mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES;
-
Nella Console di gestione di Amazon RDS aggiungi l'indirizzo IP del server che ospita il database MariaDB esterno al gruppo di sicurezza VPC per l'istanza database MariaDB. Per ulteriori informazioni sulla modifica di un gruppo di sicurezza VPC, consulta la sezione relativa ai Gruppi di sicurezza per il VPC nella Guida per l'utente di Amazon Virtual Private Cloud.
L'indirizzo IP può cambiare quando vengono soddisfatte le seguenti condizioni:
-
Si sta utilizzando un indirizzo IP pubblico per la comunicazione tra l'istanza di origine esterna e l'istanza database.
-
L'istanza di origine esterna è stata arrestata e riavviata.
Se queste condizioni vengono soddisfatte, verificare l'indirizzo IP prima di aggiungerlo.
Potrebbe anche essere necessario configurare la rete locale per consentire le connessioni dall'indirizzo IP dell'istanza database MariaDB affinché possa comunicare con l'istanza database MariaDB esterna. Per individuare l'indirizzo IP dell'istanza database MariaDB, usa il comando
host
.host
db_instance_endpoint
Il nome host è il nome DNS dell'endpoint dell'istanza database MariaDB.
-
-
Utilizzando il client scelto, eseguire la connessione all'istanza database MariaDB esterna e creare un utente MariaDB da utilizzare per la replica. Questo account viene utilizzato unicamente per la replica e deve essere limitato al dominio personale per aumentare la sicurezza. Di seguito è riportato un esempio.
CREATE USER '
repl_user
'@'mydomain.com
' IDENTIFIED BY 'password
';Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
-
Per un'istanza MariaDB esterna, concedere i privilegi
REPLICATION CLIENT
eREPLICATION SLAVE
all'utente della replica. Per concedere ad esempio i privilegiREPLICATION CLIENT
eREPLICATION SLAVE
su tutti i database per l'utente "repl_user
" del proprio dominio, eseguire questo comando.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '
repl_user
'@'mydomain.com
'; -
Configurare l'istanza database MariaDB come replica. Connettersi all'istanza database MariaDB come utente master e identificare il database MariaDB esterno come istanza origine di replica usando il comando mysql.rds_set_external_master_gtid. Utilizzare il GTID determinato alla fase 2. Di seguito è riportato un esempio.
CALL mysql.rds_set_external_master_gtid ('
mymasterserver.mydomain.com
', 3306, 'repl_user
', 'password
', 'GTID
',0
);Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
-
Nell'istanza database MariaDB, emettere il comando mysql.rds_start_replication per avviare la replica.
CALL mysql.rds_start_replication;