Задать вопрос
xby43
@xby43

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

Имеется mysql server5.6 на нем часто создаются базы для тестов, но не всегда создатель удаляет бд, так что необходимо удалять все базы данных которые старше 30 дней. Как хотя бы вывести список всех баз которые старше 30 дней, основываясь на дате самой старой таблицы в потенциальной базе данных.
  • Вопрос задан
  • 434 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Stepik
    Основы Linux
    2 недели
    Далее
  • Учебный центр IBS
    AL-1801 ОС Astra Linux Special Edition 1.8 для пользователей
    1 неделя
    Далее
Решения вопроса 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. Или докер запустить.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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