2017年8月2日水曜日

Cactiをv1.x系にアップデートした時に、出るエラーの対処方法


Cactiがバージョンアップして、いつの間にか『v1.x』へ!
ちょこちょこアップデートは対応していたのですが、ここで一度手順を残しておこうかと。(いまさら)


もくじ



Cactiを「v1.x」にすると出るエラー

ERROR: Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti database account "select" access to the "time_zone_name" table in the "mysql" database, and populate MySQL's TimeZone information before proceeding.
日本語で要約すると、
MySQLのTimeZoneデータベースに、
Cactiユーザーがアクセスできない!
って、事みたいですよ!

そもそも、MySQLに「TimeZone」データベース(テーブル)はないみたいなんですけどね~

対処方法

  • mysqlデータベース(既知のデータベース)に「time_zone_name」というテーブルを作って、データを入れる
  • cactiのDBユーザーがそこを参照できるように権限を与える
この二つをすればいいみたいですよ!

mysqlデータベース(既知のデータベース)に「time_zone_name」というテーブルを作って、データを入れる

OSによってPATHは違うかもしれませんが、CentOS6では
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
こんなコマンドを発行してあげることで、「テーブル作成とデータ挿入」をやってくれるようです。

参考:

MySQL :: MySQL 5.7 Reference Manual :: 4.4.6 mysql_tzinfo_to_sql - Load the Time Zone Tables

null


cactiのDBユーザーがそこを参照できるように権限を与える

さらに、CactiのDBユーザーに参照権限を付ける
mysql -u root mysql
のあとに、以下のSQLを発行
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
flush privileges;

参考:

Document MySQL TimeZone Setup Steps · Issue #361 · Cacti/cacti

During a new installation (Linux), the following error message will appear: ERROR: Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti da...


まとめ

Cactiのバージョンアップスクリプトではできない処理だったのでしょうね。
RPMのメッセージで、最後何か出してくれたらいいのにねー!とかw

Zenback