Backup automatici con motori di storage MySQL non supportati
Per il motore di database MySQL, i backup automatici sono supportati solo per il motore di storage InnoDB. L'utilizzo di queste caratteristiche con altri motori di archiviazione MySQL, incluso MyISAM, può causare un comportamento inaffidabile durante il ripristino dai backup. Nello specifico, poiché i motori di storage come MyISAM non supportano il ripristino da arresto anomalo affidabile, è possibile che le tabelle vengano danneggiate in caso di arresto anomalo. Per questo, ti consigliamo di utilizzare il motore di storage InnoDB.
-
Per convertire le tabelle MyISAM esistenti in tabelle InnoDB, è possibile utilizzare il comando
ALTER TABLE, ad esempio:ALTER TABLEtable_nameENGINE=innodb, ALGORITHM=COPY; -
Se si sceglie di utilizzare MyISAM, è possibile tentare di eseguire manualmente il ripristino delle tabelle danneggiate dopo un arresto anomalo utilizzando il comando
REPAIR. Per ulteriori informazioni, consulta REPAIR TABLE Statementnella documentazione MySQL. Come specificato nella documentazione MySQL, è tuttavia molto probabile che non sia possibile recuperare tutti i dati. -
Per acquisire uno snapshot delle tabelle MyISAM prima del ripristino, procedere nel seguente modo:
-
Arrestare ogni attività sulle tabelle MyISAM (ovvero, chiudere tutte le sessioni).
È possibile chiudere tutte le sessioni chiamando il comando mysql.rds_kill per ogni processo restituito dal comando
SHOW FULL PROCESSLIST. -
Bloccare e svuotare ciascuna tabella MyISAM. Ad esempio, i seguenti comandi bloccano e svuotano le due tabelle denominate
myisam_table1emyisam_table2:mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK; -
Crea uno snapshot dell'istanza database o del cluster di database multi-AZ. Quando la snapshot è completata, rilasciare i blocchi e riprendere l'attività sulle tabelle MyISAM. È possibile utilizzare il comando seguente per rilasciare i blocchi sulle tabelle:
mysql> UNLOCK TABLES;
Queste fasi forzano MyISAM a svuotare i dati archiviati in memoria sul disco, garantendo un avvio pulito quando si esegue il ripristino da uno snapshot DB. Per ulteriori informazioni sulla creazione di una snapshot DB, consulta Creazione di uno snapshot del database per un’istanza database Single-AZ per Amazon RDS.
-