关于cacti建立mysql不出图形的总结:

 

 今天建立cacti对mysql的监控,发现图形就没有出来,注意和上边的没有有数据不是一个概念。我在查询了很久依然没有发现原因的所在,这个问题就此放着了两周,在昨天做mysql的时候,想起来cacti对mysql的监控,我在想是不是因为cacti的监控端就连接不上客户端的mysql服务器呢,但是cacti又是用什么账户名和密码和客户端的mysql进行连接呢,这个设置在你在cacti配置写添加的支持mysql的模块:

注意:是在服务端,在你的cacti程序下边的/cacti/scripts/ss_get_mysql_stats.php,这个文件可以看到cacti是用的那个用户名,密码,还有端口来连接客户端数据库的。

然后你可以在服务端用mysql -h 192.168.0.1 -u cacti -p cacti来测试是否可以连接上客户端的mysql

注意:-h后边跟的是你在建立cacti监控客户端mysql的时候输的ip,-u  和  -p  后边跟的是刚才在mysql模块看到的用户名和密码。

我用这条命令连接不了客户端的mysql,cacti是在服务端连接客户端mysql来搜集客户端mysql信息的,都连接不上客户端的mysql,那肯定出不来图形了。然后用root账户登录客户端的mysql,来查看是否有cacti这个用户,有的话密码是否正确,host是否正确(注意:host很重要,如果客户端和服务端是一台服务器那么mysql下边的host应该和你在cacti上建立对mysql监控的时候输的ip应该一致),是否有Process,Super这两个权限。

如果没有cacti这个账户,下边是添加方法:

use mysql;

insert into user(Host,User,Password) values ('localhost','_backmysql','databse');

grant Process,Super on *.* to 'cacti'@'192.168.0.1';

flush privileges;

 

如果是host不正确:

update user set host='192.168.0.1' where host='192.168.0.1' user='cacti';

如果密码不正确:

update user set password=password('ccacti') where host='192.168.0.1' user='cacti';

 

添加过之后再在服务端测试一次mysql的用cacti账户来连接客户端的mysql,成功了,然后就图形过五分钟就能出来了