Cuando los archivos de datos agotan la capacidad de almacenamiento de su instancia de ApsaraDB RDS for MySQL, RDS bloquea automáticamente la instancia para evitar la pérdida de datos. Mientras está bloqueada, no puede escribir datos en la instancia de RDS.
Para desbloquear la instancia, amplíe su capacidad de almacenamiento o elimine los datos históricos e innecesarios. Una vez resuelto el problema, configure la expansión automática de almacenamiento para evitar que vuelva a ocurrir.
Requisitos previos
Antes de eliminar archivos de datos, compruebe la versión secundaria del motor de su instancia. Si la instancia ejecuta MySQL 5.6, 5.7 u 8.0 y la versión secundaria del motor es anterior a 20190815, actualice primero la versión secundaria del motor.
Para obtener instrucciones, consulte Update the minor engine version.
Notas importantes
Respalde los datos de las tablas antes de eliminarlos para evitar pérdidas de información.
DELETEno libera almacenamiento en ApsaraDB RDS for MySQL. En su lugar, utiliceDROP TABLEoTRUNCATE TABLE.OPTIMIZE TABLEbloquea la tabla durante su ejecución. Ejecútelo en horarios de menor actividad.Después de eliminar los archivos de datos, espere un tiempo para que se libere el almacenamiento.
Una vez liberado el almacenamiento o modificadas las especificaciones de la instancia, RDS desbloquea la instancia en aproximadamente 5 minutos.
Desbloqueo de la instancia
Elija uno de los métodos a continuación.
Opción 1: Ampliar la capacidad de almacenamiento
Amplíe la capacidad de almacenamiento de la instancia. Para más detalles, consulte Change instance specifications.
Una vez que el cambio de especificaciones entra en vigor, RDS desbloquea la instancia en aproximadamente 5 minutos.
Opción 2: Eliminar datos históricos o innecesarios
Conéctese a la instancia mediante Data Management (DMS). Para más detalles, consulte Usar DMS para iniciar sesión en una instancia de ApsaraDB RDS for MySQL.
-
En la pestaña SQL Console, ejecute la consulta a continuación para identificar los archivos de datos grandes:
SELECT file_name, concat(TOTAL_EXTENTS,'M') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES ORDER BY TOTAL_EXTENTS DESC; -
Elimine los datos históricos o innecesarios con una de las sentencias a continuación:
-
Eliminar una tabla: borra permanentemente la tabla y todos sus datos.
DROP TABLE <Database name>.<Table name>; -
Vaciar una tabla: elimina todos los registros de la tabla y conserva su estructura.
TRUNCATE TABLE <Database name>.<Table name>;
-
Una vez completada la eliminación, RDS desbloquea la instancia en aproximadamente 5 minutos.
Pasos siguientes
Después de desbloquear la instancia, siga estos pasos para evitar que se bloquee nuevamente:
Configure la expansión automática de almacenamiento. Cuando el uso de almacenamiento alcanza un umbral configurado, RDS amplía automáticamente la capacidad. Para más detalles, consulte Configure automatic storage expansion.
-
Recupere el espacio de tablas fragmentado. Si se ejecuta
DELETEcon frecuencia en una tabla, esta se fragmenta y el espacio libre no se devuelve al sistema operativo. Durante los horarios de menor actividad, ejecuteOPTIMIZE TABLEpara recuperarlo:OPTIMIZE TABLE <Database name>.<Table name>;Para obtener más información, consulte How do I use the OPTIMIZE TABLE statement to release the tablespace of an ApsaraDB RDS for MySQL instance?