Copias de seguridad automatizadas con motores de almacenamiento de MySQL no compatibles
Para el motor de base de datos de MySQL, las copias de seguridad automatizadas solo son compatibles para el motor de almacenamiento InnoDB. El uso de estas características con otros motores de almacenamiento de MySQL, incluido MyISAM, puede dar lugar a comportamientos poco fiables al restaurar desde copias de seguridad. Específicamente, dado que los motores de almacenamiento como MyISAM no admiten una recuperación de bloqueos fiable, las tablas pueden dañarse si se produce un bloqueo. Por este motivo, le animamos a usar el motor de almacenamiento de InnoDB.
-
Para convertir las tablas de MyISAM existentes en tablas de InnoDB, puede usar el comando
ALTER TABLE
, por ejemplo:ALTER TABLE
table_name
ENGINE=innodb, ALGORITHM=COPY; -
Si opta por usar MyISAM, puede intentar reparar manualmente las tablas que se hayan dañado después de un bloqueo usando el comando
REPAIR
. Para obtener más información, consulte REPAIR TABLE Statementen la documentación de MySQL. Sin embargo, como se indica en la documentación de MySQL, es muy probable que no pueda recuperar todos los datos. -
Si desea crear una instantánea de sus tablas MyISAM antes de restaurar, siga estos pasos:
-
Detenga toda la actividad de las tablas de MyISAM (es decir, cierre todas las sesiones).
Puede cerrar todas las sesiones llamando al comando mysql.rds_kill para cada proceso devuelto por el comando
SHOW FULL PROCESSLIST
. -
Bloquee y vacíe cada una de las tablas de MyISAM. Por ejemplo, los siguientes comandos bloquean y vacían dos tablas llamadas
myisam_table1
ymyisam_table2
:mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
-
Cree una instancia de base de datos o un clúster de base de datos Multi-AZ. Cuando la instantánea se haya completado, libere los bloqueos y reanude la actividad en las tablas de MyISAM. Puede liberar los bloqueos de las tablas usando el siguiente comando:
mysql> UNLOCK TABLES;
Estos pasos obligan a MyISAM a limpiar los datos almacenados en memoria en el disco, lo que garantiza un inicio limpio al restaurar desde una instantánea de base de datos. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte Creación de una instantánea de base de datos para una instancia de base de datos single-AZ para Amazon RDS.
-