Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sauvegardes automatiques avec moteurs de stockage MySQL non pris en charge
Pour le moteur de base de données MySQL, les sauvegardes automatiques sont uniquement prises en charge pour le moteur de stockage InnoDB. L'utilisation de ces fonctions avec d'autres moteurs de stockage MySQL, dont MyISAM, peut entraîner un comportement non fiable lors de la restauration à partir de sauvegardes. Plus précisément, dans la mesure où les moteurs de stockage comme MyISAM n'assurent pas une récupération sur incident fiable, vos tables risquent d'être corrompues en cas d'incident. Pour cette raison, nous vous invitons à utiliser le moteur de stockage InnoDB.
-
Pour convertir des tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande
ALTER TABLE(par exemple,ALTER TABLE).table_nameENGINE=innodb, ALGORITHM=COPY; -
Si vous choisissez d'utiliser MyISAM, vous pouvez essayer de réparer manuellement les tables endommagées après un incident à l'aide de la commande
REPAIR. Pour plus d'informations, veuillez consulter la section Instruction REPAIR TABLEdans la documentation de MySQL. Cependant, comme indiqué dans la documentation MySQL, il y a de fortes chances que vous ne puissiez pas récupérer toutes vos données. -
Si vous souhaitez prendre un instantané de vos tables MyISAM avant la restauration, procédez comme suit :
-
Arrêtez toutes les activités de vos tables MyISAM (autrement dit, fermez toutes les sessions).
Vous pouvez fermer toutes les sessions en appelant la commande mysql.rds_kill pour chaque processus retourné à partir de la commande
SHOW FULL PROCESSLIST. -
Verrouillez et videz chacune de vos tables MyISAM. Par exemple, les commandes suivantes verrouillent et vident deux tables nommées
myisam_table1etmyisam_table2:mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK; -
Créez un instantané de votre instance de base de données ou cluster de base de données multi-AZ. Une fois l'instantané terminé, libérez les verrous et reprenez l'activité sur les tables MyISAM. Vous pouvez libérer les verrous sur vos tables à l'aide de la commande suivante :
mysql> UNLOCK TABLES;
Ces étapes obligent MyISAM à vider sur disque les données stockées en mémoire, ce qui garantit un démarrage propre lors d'une restauration à partir d'un instantané de bases de données. Pour plus d'informations sur la création d'un instantané de base de données, consultez Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS.
-