Tente criar um evento que será executado no banco de dados automaticamente após o intervalo de tempo desejado.
Aqui está um exemplo:Se você deseja excluir entradas com mais de 30 dias de alguma tabela 'tableName', com entrada de coluna 'datetime'. Em seguida, a consulta a seguir é executada todos os dias, o que fará a ação de limpeza necessária.
CREATE EVENT AutoDeleteOldNotifications
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO
DELETE LOW_PRIORITY FROM databaseName.tableName WHERE datetime < DATE_SUB(NOW(), INTERVAL 30 DAY)
Precisamos adicionar
ON COMPLETION PRESERVE
para manter o evento após cada execução. Você pode encontrar mais informações aqui:http://www.mysqltutorial .org/mysql-triggers/working-mysql-scheduled-event/