Can I use MySQL "triggers"?

Note that due to a MySQL bug, we need to use the MySQL “log-bin-trust-function-creators” option to allow normal users to create triggers. (Without this option, only users with the MySQL “SUPER” privilege can create them.)

The “log-bin-trust-function-creators” option tells MySQL that anyone who creates triggers will make sure that the results are safe to store in the MySQL “binary log”, which we use to improve the reliability of MySQL backups.

In technical terms, MySQL assumes you’ll only use deterministic functions in your triggers — otherwise, the binary log data (and your MySQL backups) could be incorrect. A full description of deterministic vs. non-deterministic functions is outside the scope of this page, but if you use triggers, you should read the MySQL documentation carefully to be sure that you understand it and only use deterministic functions in your triggers.