xby43
@xby43

Как удалить базы MYSQL которым более 30 дней?

Имеется mysql server5.6 на нем часто создаются базы для тестов, но не всегда создатель удаляет бд, так что необходимо удалять все базы данных которые старше 30 дней. Как хотя бы вывести список всех баз которые старше 30 дней, основываясь на дате самой старой таблицы в потенциальной базе данных.
  • Вопрос задан
  • 370 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
список самых старых таблиц из всех баз
SELECT TABLE_SCHEMA, TABLE_NAME, MAX(CREATE_TIME) created FROM information_schema.tables
GROUP BY TABLE_SCHEMA
ORDER BY created

те что старше месяца:
SELECT TABLE_SCHEMA, TABLE_NAME, MAX(CREATE_TIME) created FROM information_schema.tables
GROUP BY TABLE_SCHEMA
HAVING created < (NOW() - INTERVAL 1 MONTH)
ORDER BY created

осталось добавить DROP DATABASE;
И постарайтесь не убить случайно какие-то из системных таблиц.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BorLaze
@BorLaze
Java developer
Вообще-то, для тестов лучше применять какой нибудь embedded mysql. Или докер запустить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы