Cómo probar MySQL para cambios
-
26-09-2020 - |
Pregunta
Soy persona de OCD, creo que accidentalmente dejé caer algo en mi MySQL.
El problema es que tengo alrededor de 50 bases de datos, y no puedo verificar manualmente todo: (
¿Hay alguna manera de verificar este tipo de cambios?Intenté ver las marcas de tiempo en / var / lib / mysql, pero no ayudó, estaba mirando las marcas de luces de directorio.
También corrí:
SELECT table_schema,table_name,update_time
FROM information_schema.tables
WHERE update_time > (NOW() - INTERVAL 1 day)
Solo devolvieron las bases de datos cambiadas en las últimas segundas.
Solución
Después de reducir mucho con la tabla de información_schema.tables, finalmente descubrí la respuesta a su problema: la hora de actualización no funciona para InnoDB. Vea los puntos aquí por un .ut y ajacian81.
La única forma en que puede hacer esto es implementar Tablas de registro (según lo sugerido por Bill Karwin, un poco de un MySQL / Database Guru).
La única cosa que puedo pensar es usar una copia de seguridad y usar un programa Diff para comparar la salida de texto de las consultas de su base de datos actual y de copia de seguridad. Horribítimo lo sé, pero hay herramientas que pueden hacer esto si es crítico. Hay el propio MySQL (MySqldiff - en los servicios públicos), podría probar Liquibase o flentaway (que creo que tiene esta funcionalidad) o Google" base de datos difffigs mysql ".
También encontré este POST útil para darme útile las tablas de información_schema son dinámicas.
Tal vez estoy un poco ocd también (¡no puedo dejar que esto vaya! :-)) Pero también encontré este hilo - Echa un vistazo a la respuesta por la chaqueta: PERCONA puede ser la forma de ir si está en una necesidad real de esta funcionalidad. Sin embargo, obviamente es demasiado tarde para su situación particular. Creo que son copias de seguridad para usted: - (.