Una actualización de MySQL que parecía segura y terminó corrompiendo datos
A safe MySQL upgrade that wasn't so safe
Un desarrollador relata cómo una actualización de MySQL en AWS, que parecía rutinaria, provocó una corrupción silenciosa de datos: una tabla perdió la correspondencia de IDs con otra tabla relacionada. El problema se originó en la combinación de una columna AUTO_INCREMENT añadida mediante ALTER TABLE y el formato de binlog MIXED, que alterna entre replicación basada en sentencias y basada en filas. La historia explica cómo esta interacción puede generar inconsistencias en réplicas y ofrece una advertencia sobre los riesgos ocultos en las actualizaciones de bases de datos.
Lo aterrador de este tipo de problema es que es inesperado y fácil de pasar por alto, pero puede convertirse rápidamente en un desastre en producción.
- Insimwytim
Eso es algo divertido (no de una manera divertida).
Ya que la actualización se hace semiautomáticamente mediante AWS RDS, ¿asume AWS alguna responsabilidad por ello? A menos que este caso de uso esté advertido en las notas de migración, creo que deberían.
- 190n
No entiendo por qué este problema solo apareció después de la actualización, no inmediatamente después de la migración para añadir la columna.
- krautburglar
Mezclar formatos de binlog entre réplicas me parece un error del usuario.