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à.
Dimensionamento delle letture per il database MySQL con Amazon Aurora
Puoi utilizzare Amazon Aurora con l'istanza database MySQL per usufruire delle funzionalità di dimensionamento della lettura di Amazon Aurora ed espandere il reale carico di lavoro della tua istanza database MySQL. Per utilizzare Aurora per ridimensionare le operazioni di lettura dell'istanza database MySQL, crea un cluster di database Amazon Aurora MySQL e rendilo una replica di lettura per l'istanza database MySQL. Ciò si applica a un'istanza database RDS per MySQL o a un database MySQL in esecuzione esternamente a Amazon RDS.
Per informazioni su come creare un cluster di database Amazon Aurora, consulta Creazione di un cluster database Amazon Aurora.
Quando si configura la replica tra l'istanza database MySQL e il cluster di database Amazon Aurora, assicurarsi di seguire queste linee guida:
-
Utilizzare l'indirizzo dell'endpoint del cluster di database di Amazon Aurora quando si fa riferimento al cluster di database Amazon Aurora MySQL. Se si verifica un failover, la replica di Aurora promossa a istanza principale per il cluster di database Aurora MySQL continua a utilizzare l'indirizzo dell'endpoint del cluster di database.
-
Conservare i binlog sull'istanza di scrittura finché non si ha la conferma che siano stati applicati alla replica di Aurora. Questa manutenzione assicura il ripristino dell'istanza di lettura nel caso di errori.
Importante
Quando si utilizza la replica auto-gestita, si ha la responsabilità di monitorare e risolvere eventuali problemi di replica. Per ulteriori informazioni, consulta Diagnosi e risoluzione del ritardo tra repliche di lettura.
Nota
Le autorizzazioni richieste per avviare la replica su un cluster di database Aurora MySQL sono limitate e non disponibili per l'utente master Amazon RDS. Pertanto sarà necessario utilizzare le procedure mysql.rds_set_external_master (Aurora MySQL versione 2) o mysql.rds_set_external_source (Aurora MySQL versione 3) e mysql.rds_start_replication per impostare la replica tra il cluster di database Aurora MySQL e l'istanza database MySQL.
Avvio della replica tra un'istanza di origine esterna e un cluster di database Aurora MySQL
-
Rendere di sola lettura l'istanza database MySQL di origine:
mysql>FLUSH TABLES WITH READ LOCK;mysql>SET GLOBAL read_only = ON; -
Eseguire il comando
SHOW MASTER STATUSnell'istanza database MySQL di origine per determinare la posizione di binlog. Viene restituito un output simile all'esempio seguente:File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------ -
Copia il database dall'istanza database MySQL esterna al cluster di database Amazon Aurora MySQL utilizzando
mysqldump. Per database di dimensioni particolarmente elevate, è possibile utilizzare la procedura descritta in Importazione dei dati in un database Amazon RDS per MySQL con tempo di inattività ridotto nella Guida per l’utente di Amazon Relational Database Service.Per Linux, macOS o Unix:
mysqldump \ --databases <database_name> \ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user\ -plocal_password| mysql \ --host aurora_cluster_endpoint_address \ --port 3306 \ -uRDS_user_name\ -pRDS_passwordPer Windows:
mysqldump ^ --databases <database_name> ^ --single-transaction ^ --compress ^ --order-by-primary ^ -ulocal_user^ -plocal_password| mysql ^ --host aurora_cluster_endpoint_address ^ --port 3306 ^ -uRDS_user_name^ -pRDS_passwordNota
Assicurati che non siano presenti spazi tra l'opzione
-pe la password immessa.Utilizza le opzioni
--host,--user (-u),--porte-pnel comandomysqlper specificare il nome host, il nome utente e la password per eseguire la connessione al cluster di database Aurora. Il nome host è il nome DNS per l'endpoint del cluster di database Amazon Aurora, ad esempio,mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com. Il valore dell'endpoint è disponibile nei dettagli del cluster nella console di gestione Amazon RDS. -
Rendere nuovamente scrivibile l'istanza database MySQL di origine:
mysql>SET GLOBAL read_only = OFF;mysql>UNLOCK TABLES;Per ulteriori informazioni sulla creazione di backup da utilizzare con la replica, vedere Backing up a source or replica by making it read only
nella documentazione di MySQL. -
Nella console di gestione Amazon RDS aggiungi l'indirizzo IP del server che ospita il database MySQL di origine al gruppo di sicurezza VPC per il cluster di database Amazon Aurora. Per ulteriori informazioni sulla modifica di un gruppo di sicurezza VPC, consulta Gruppi di sicurezza per il VPC nella Guida per l'utente di Amazon Virtual Private Cloud.
Potrebbe anche essere necessario configurare la rete locale per consentire le connessioni dall'indirizzo IP del cluster di database Amazon Aurora, affinché possa comunicare con l'istanza di MySQL di origine. Per individuare l'indirizzo IP del cluster di database Amazon Aurora, utilizzare il comando
host.hostaurora_endpoint_addressIl nome host è il nome DNS dell'endpoint del cluster di database Amazon Aurora.
-
Utilizzando il client scelto, eseguire la connessione all'istanza di MySQL esterna e creare un utente MySQL 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'@'example.com' IDENTIFIED BY 'password'; -
Per un'istanza di MySQL esterna, concedere i privilegi
REPLICATION CLIENTeREPLICATION SLAVEall'utente della replica. Per concedere ad esempio i privilegiREPLICATION CLIENTeREPLICATION SLAVEsu tutti i database per l'utente "repl_user" del proprio dominio, eseguire questo comando.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com' IDENTIFIED BY 'password'; -
Acquisire uno snapshot manuale del cluster di database Aurora MySQL da impostare come replica di lettura prima di impostare la replica. Se è necessario ridefinire la replica con il cluster di database come replica di lettura, è possibile ripristinare il cluster di database Aurora MySQL da tale snapshot anziché dover importare i dati dall'istanza database MySQL in un nuovo cluster di database Aurora MySQL.
-
Configurare il cluster di database Amazon Aurora come replica. Esegui la connessione al cluster di database Amazon Aurora come utente master e identifica il database MySQL di origine come origine di replica utilizzando mysql.rds_set_external_master (Aurora MySQL versione 2) o le procedure mysql.rds_set_external_source (Aurora MySQL versione 3) e mysql.rds_start_replication.
Utilizza il nome e la posizione del file binlog, recuperati nella fase 2. Di seguito è riportato un esempio di :
For Aurora MySQL version 2: CALL mysql.rds_set_external_master ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0); For Aurora MySQL version 3: CALL mysql.rds_set_external_source ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0); -
Nel cluster di database Amazon Aurora chiama la procedura mysql.rds_start_replication per avviare la replica.
CALL mysql.rds_start_replication;
Dopo aver definito la replica tra l'istanza database MySQL di origine e il cluster di database Amazon Aurora sarà possibile aggiungere le repliche di Aurora al cluster di database Amazon Aurora. È possibile quindi connettere le repliche di Aurora per il dimensionamento della lettura dei dati. Per informazioni sulla creazione di una replica di Aurora, consulta Aggiunta di repliche di Aurora a un cluster di database.