Mysqlのパスワード変更について

度々すみません。

ashです。

Zabbix1.4.4+Mysql5.0.22-2.1の構成でMysqlのパスワードを
変更したく以下を実施したのですが、うまくいきませんでした。

どのように変更すればよろしいかご教授願えますでしょうか。

?Mysqlのパスワード変更
 
mysql> SET PASSWORD FOR zabbix@localhost=PASSWORD('aaaaa');

?zabbix_server.confの変更

DBPassword=aaaaa

?zabbixserverの再起動

/etc/init.d/zabbix_server restart

その後、http://localhost/zabbix/にアクセスしたところ、
/var/www/html/zabbix/include/db.inc.phpでmysqlに接続
できないとのエラーが出たため、db.inc.phpの$DB_PASSWORD
を変更し、zabbixの再起動などを行いましたが、また、
mysqlに接続できないとのエラーが出てしまいました。

$DB_TYPE = "MYSQL";
$DB_SERVER = "localhost";
$DB_DATABASE = "zabbix";
$DB_USER = "zabbix";
$DB_PASSWORD = "aaaaa";

mysqlのコマンドではパスワードを変更後、確かにログイン
できたのですが、Zabbixからは正常に接続できませんでした。

これ以外にどこの設定ファイルを変更すればよいか教えてい
ただけますでしょうか。

以上よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

他に設定が必要な点はないはずなのですが....。いくつか確認させてください。

1. パスワードを設定する前は正常に動作していたという認識で良いでしょうか?
2. パスワード変更後、以下のコマンドでログインできたという認識でよいでしょうか?
# mysql -uzabbix -p zabbix
password: ← aaaaaと入力

3. httpdのログ (/var/log/httpd/error_log)には関連しそうなログは出ていないでしょうか?

ユーザー ash の写真

1. パスワードを設定する前は正常に動作していたという認識で良いでしょうか?

はい。正常に動作しておりました。
また、パスワードを古いものに戻すと正常に動作します。

2. パスワード変更後、以下のコマンドでログインできたという認識でよいでしょうか?

はい。以下の通り、ログインできます。

# mysql -u zabbix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 48 to server version: 5.0.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

3. httpdのログ (/var/log/httpd/error_log)には関連しそうなログは出ていないでしょうか?

[Wed Apr 16 17:18:39 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/zabbix/function.mysql-pconnect, referer: http://localhost/zabbix/index.php
[Wed Apr 16 17:18:41 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico

というエラーが一度だけ出ました。
ただし、それ以降は何度も再起動などを行いましたが出ていません。

念のため、何度か検証を行ったところ、どうやらmysqlの再起動を行うとログインできなくなるようです。

?mysqlのパスワードを変更
?zabbix_server.confのDBPasswordを変更
?zabbix_serverをrestart
?http://localhost/zabbix/へアクセス
 mysql_pconnect()[function.mysql-pconnect]:Access denied for user `zabbix`@`localhost`(using password:YES)[/var/www/html/zabbix/include/db/inc.php:52]とインストールウィザードが表示される
?/var/www/html/zabbix/include/db/inc.phpのDBパスワードを変更
?しばらくは?のエラーが出てログインできないが、10分ぐらいたつとログインできるようになった
?zabbix_serverを停止
?mysqlのrestart
?zabbix_serverを起動
?しばらくしても?の状態のままログインできず

ただし、zabbix_serverのログを見てみると以下のように正常にmysqlに接続しているようでした。

25394:20080416:183454 Before read
25394:20080416:183454 End get_value_agent(result:99.692056)
25394:20080416:183454 End get_value()
25394:20080416:183454 Query [begin;]
25394:20080416:183454 In process_new_value(vfs.fs.inode[/,pfree])
25394:20080416:183454 In add_history(key:vfs.fs.inode[/,pfree],value_type:0,type:2)
25394:20080416:183454 In add_history(itemid:21652,DOUBLE:99.692056)
25394:20080416:183454 In add_history()
25394:20080416:183454 Query [insert into history (clock,itemid,value) values (1208338494,
21652,99.692056)]
25394:20080416:183454 In add_trend()

また、/var/log/httpd/error_logにも特にエラーがないということで
ブラウザを疑ったのですがfirefoxでもIEでも結果は同じでした。

以上よろしくお願いします。

ユーザー kodai の写真

10分くらい経つとログインできるようになるということと、ZABBIXサーバからは正常に接続できていることから、MySQLのzabbixユーザの権限の問題ではなさそうですね。

念のためですが、

# mysql -u zabbix -p

ではなく

# mysql -u zabbix -p zabbix

とデータベースまで指定して接続してみてください。

他に考えられる点としては、MySQLがListenしているポート番号と、/etc/zabbix/zabbix.conf.phpのポート番号の設定は合っているでしょうか?

ちなみにですが、ZABBIXのWebインターフェースとZABBIXサーバはそれぞれ完全に独立したソフトウェアなので、ZABBIXサーバを再起動しても、Webインターフェースに影響はありません。

ユーザー ash の写真

kodai様

/var/www/html/zabbix/conf/zabbix.conf.phpの中の
$DB_PASSWORDが古いパスワードでした。

こちらを変更したところ、mysqlを再起動しても接続
できるようになりました。

まとめますと以下のファイル変更が必要だったということですね。

?zabbix_server.conf
?zabbix.conf.php
?/var/www/html/zabbix/include/db.inc.php

いろいろとご教授いただきありがとうございました。