History/audit tables using MySQL triggers

If you are using mysql >= 5.1 with row-based replication (so you avoid this) then one possible pattern for keeping track of database changes (for history management, auditing, etc) is this mysql script.

Please note you still need to do a ton of stuff before your database is really audit-able.