Я пытаюсь реализовать процедуру инкрементного резервного копирования, которая только выгружает и создает резервные копии таблиц в базе данных MySQL, которые были изменены в течение последних 24 часов. Я могу просмотреть время модификации файлов .MYD и .MYI в каталоге /var/lib/mysql/DBNAME/, чтобы определить, была ли изменена таблица MyISAM, но таблицы InnoDB (которые не были настроены для использования их собственные файлы данных) не имеют уникальных файлов, «открытых» для файловой системы, для которых я могу проверить время модификации. Некоторые из этих таблиц InnoDB огромны (более 100 миллионов строк), но они редко обновляются/добавляются, например, два или три раза в месяц. Я не хочу тратить время/пространство на ежедневный сброс этих таблиц для резервного копирования, если никакие данные не были изменены.
Из-за характера баз данных и таблиц (некоторые из них являются временными/специальными, а некоторые имеют статические схемы, где я не могу предсказать, есть ли в таблице столбец метки времени, и если да, то каково его имя), я не могу запрашивать таблицы. сами, чтобы определить, были ли они недавно изменены.
Существует ли встроенное «время изменения таблицы», хранящееся в MySQL, которое может быть раскрыто путем запроса встроенных переменных/таблиц?
Все наши серверы MySQL используют 5.1 или более позднюю версию.