2014年5月16日 星期五

[CactiEZ] [Solved] FATAL:Cannot connetct to MySQL server on 'localhost'. 解決CactiEZ登入問題

今天重新佈署CactiEZ到一台Sun的設備上,但是安裝之後用瀏覽器連結卻發現這個問題!

補充:後來發現,重新安裝後就沒有問題了,所以如果出現此問題,建議先重新安裝試試看!

[FATAL:Cannot connetct to MySQL server on 'localhost'. Please make sure you have specified a valid MYSQL database name in 'include/config.php']

問題應該是出在CactiEZ沒有正確給mysql中cactiuser這個帳戶權限,所以才會出現這個問題。






1.先下這個指令: [root@localhost ~]# cat /root/mysqlpass.txt
可以看到mysql的root與cactiuser的密碼。

root      : NBxxxxx
cactiuser : caxxxxx

2.下這個指令:[root@localhost ~]# cat  /var/www/html/include/config.php 
可以看到中間有database_password這一行。

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;

3.下另一個指令:[root@localhost ~]# cat var/www/html/plugins/syslog/config.php 
同樣也可以看到中間有database_password這一行。

if (!$use_cacti_db) {
$syslogdb_type     = 'mysql';
$syslogdb_default  = 'syslog';
$syslogdb_hostname = 'localhost';
$syslogdb_username = 'cactiuser';
$syslogdb_password = 'cactiuser';
$syslogdb_port     = 3306;

所以我應該是cactiEZ在安裝的過程有問題,導致權限還沒設定好,密碼就被改了。


[解決方式]

Step 1:使用root權限登入mysql

[root@localhost ~]# mysql -u root -p
密碼:(由cat /root/mysqlpass.txt可得知)

Step 2:更改cactiuser的密碼。

mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD("cactiuser") WHERE User='cactiuser';
mysql> flush privileges;
mysql> quit

Step 3:重新啟動mysql

[root@localhost ~]# service mysqld restart

Step 4:重新登入web畫面,就可以看到熟悉的畫面囉~


如果這篇文章有幫助到您,麻煩回應囉!讓大家也可以知道這個方法是可行的。
如果不行也可以留言大家一起討論~



沒有留言:

張貼留言