Coordinated Universal Time (UTC) and MySQL

MySQL’s default time zone is ‘SYSTEM.’ This is fine if you’re doing everything in your own peaceful oasis of ops awesomeness (har har har), but if anyone wants to replicate off your MySQL instances, you’re going to see problems if their system clock is not set to UTC.

Since the replication binlogs could be setting the timezone before doing inserts, this means you can end up with replicas setting their MySQL timezone to their system clock instead of UTC, leading to lots of confusion when times don’t match up. If you need to display something in a different timezone, do that sort of stuff in the presentation layer, not in the stored timestamps.