ZoneMinder1.35.14で起動エラーが出る場合の対処

ZoneMinderの最新版に更新したところ、ZoneMinderが起動しなくなりました。たいていの場合ZoneMinderアップデート後の起動エラーはDBが原因なので、手作業でDBをアップデートしようとしたところ、以下のエラーが発生しました。

/usr/share/zoneminder/db$ sudo mysql zm < zm_update-1.35.14.sql
This update may make changes that require SUPER privileges. If you see an error message saying:

ERROR 1419 (HY000) at line 298: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_functio
This update may make changes that require SUPER privileges. If you see an error message saying:\n\nERROR 1419 (HY000) at line 298: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)\n\nYou will have to either run this update as root manually using something like (on ubuntu/debian)\n\nsudo mysql --defaults-file=/etc/mysql/debian.cnf zm < /usr/share/zoneminder/db/zm_update-1.35.14.sql\n\nOR\n\nsudo mysql --defaults-file=/etc/mysql/debian.cnf "set global log_bin_trust_function_creators=1;"\nsudo zmupdate.pl\n

とのこと。とりあえず、log_bin_trust_function_creatorsを有効にしたのち、zmupdate.plを叩くことに。

mysql>  SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF   |
+---------------------------------+-------+
1 row in set (0.01 sec)

mysql>
mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>  SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+---------------------------------+-------+
1 row in set (0.00 sec)

exit;

で、シェルで以下を実行

sudo /usr/bin/zmupdate.pl
sudo systemctl restart zoneminder.service

上記までで動きました。MySQLのlog_bin_trust_function_creatorsの設定は、MySQLの再起動で元に戻ってしまったので、他の対策も必要かもしれません。(追ってアップデートします)