v6.0.11以降にアップグレードするとMySQL/MariaDBのデータベースアップグレードに失敗する¶
ZABBIX v6.0.11以降にアップグレードする際、MySQL/MariaDBのデータベースアップグレード処理で以下のようにYou do not have the SUPER privilege and binary logging is enabled
メッセージが表示され失敗することがあります。
・
・
・
optional patches were found
starting automatic database upgrade
[Z3005] query failed: [1419] 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) [create trigger hosts_name_upper_insert before insert on hosts for each row set new.name_upper=upper(new.name)]
database upgrade failed
database could be upgraded to use primary keys in history tables
ZABBIX v6.0.11ではAPIのデータベースクエリがより効率的に処理されるようになり、そのためにデータベースのアップグレード中に決定的トリガーを作成する必要があります。
MySQLとMariaDBでは、バイナリロギングが有効でスーパーユーザー権限がなく、MySQL 構成ファイルにlog_bin_trust_function_creators = 1
が設定されていない場合に上記エラーが発生します。一時的にlog_bin_trust_function_creators = 1
を設定することでエラーを回避できます。
Step 1. MySQLのコンソールから以下のコマンドで変数を設定します。
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
Step 3. アップグレードが完了したら、log_bin_trust_function_creators
を無効に戻すことができます。
mysql> SET GLOBAL log_bin_trust_function_creators = 0;