Quando os arquivos de dados esgotam a capacidade de armazenamento da sua instância do ApsaraDB RDS for MySQL, o RDS bloqueia automaticamente a instância para evitar perda de dados. Durante o bloqueio, não é possível gravar dados na instância do RDS.
Para desbloquear a instância, expanda a capacidade de armazenamento ou exclua dados históricos e desnecessários. Após resolver o problema, configure a expansão automática de armazenamento para evitar reincidência.
Pré-requisitos
Antes de excluir arquivos de dados, verifique a versão secundária do mecanismo da sua instância. Se a instância executar MySQL 5.6, 5,7 ou 8,0 e a versão secundária do mecanismo for anterior a 20190815, atualize-a primeiro.
Para obter instruções, consulte Update the minor engine version.
Observações importantes
Faça backup dos dados da tabela antes da exclusão para evitar perda de dados.
O comando
DELETEnão libera armazenamento no ApsaraDB RDS for MySQL. UtilizeDROP TABLEouTRUNCATE TABLE.O comando
OPTIMIZE TABLEbloqueia a tabela durante a execução. Execute-o fora do horário de pico.Após excluir arquivos de dados, aguarde a liberação do armazenamento.
O RDS desbloqueia a instância em aproximadamente 5 minutos após a liberação do armazenamento ou a alteração das especificações.
Desbloquear a instância
Escolha um dos métodos a seguir.
Opção 1: Expandir a capacidade de armazenamento
Expanda a capacidade de armazenamento da instância. Para obter instruções, consulte Change instance specifications.
O RDS desbloqueia a instância em aproximadamente 5 minutos após a entrada em vigor da nova especificação.
Opção 2: Excluir dados históricos ou desnecessários
Conecte-se à instância pelo Data Management (DMS). Para obter instruções, consulte Use DMS to log on to an ApsaraDB RDS for MySQL instance.
-
Na aba SQL Console, execute a consulta a seguir para identificar arquivos de dados grandes:
SELECT file_name, concat(TOTAL_EXTENTS,'M') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES ORDER BY TOTAL_EXTENTS DESC; -
Exclua dados históricos ou desnecessários com uma das instruções a seguir:
-
Excluir uma tabela: remove permanentemente a tabela e todos os seus dados.
DROP TABLE <Database name>.<Table name>; -
Truncar uma tabela: apaga todos os registros da tabela, mas mantém sua estrutura.
TRUNCATE TABLE <Database name>.<Table name>;
-
O RDS desbloqueia a instância em aproximadamente 5 minutos após a conclusão da exclusão.
Próximos passos
Após o desbloqueio da instância, adote as medidas abaixo para evitar novos bloqueios:
Configure a expansão automática de armazenamento. O RDS expande automaticamente a capacidade quando o uso atinge um limiar configurado. Para obter instruções, consulte Configure automatic storage expansion.
-
Recupere tablespace fragmentado. Execuções frequentes de
DELETEem uma tabela causam fragmentação e impedem que o sistema operacional recupere o espaço liberado. Fora do horário de pico, executeOPTIMIZE TABLEpara recuperar esse espaço:OPTIMIZE TABLE <Database name>.<Table name>;Para mais informações, consulte How do I use the OPTIMIZE TABLE statement to release the tablespace of an ApsaraDB RDS for MySQL instance?