Munin 访问 MySQL

Munin 访问 MySQL

根据一些教程,以下内容应该有效:

在 MySQL 中创建一个新用户。

$ mysql -uroot -p
> CREATE USER 'munin'@'localhost';
> exit;

在 munin 中使用该用户访问数据库:编辑/etc/munin/plugin-conf.d/munin-node。在 [mysql*] 处设置以下内容:

[mysql*]
env.mysqlopts -u munin

奇怪的是,跑步

 /usr/sbin/munin-node-configure --suggest | grep mysql

它告诉我 MySQL 无法访问数据库,并且它尝试使用用户访问数据库

[DBI connect('mysql;mysql_connect_timeout=5','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO)

这是一台 CentOS 5.5 机器。

为什么 munin-node-configure 应该忽略 /etc/munin/plugin-conf.d/munin-node 中的设置?我应该在其他地方设置吗?重新加载或重新启动 munin-node 守护进程也不会改变任何事情。

答案1

对我来说通配符似乎也不起作用,但下面的方法确实有效

[mysql_queries]  
env.mysqlopts -u dev1

答案2

对于 Munin 1.4.7,文档中有错误:mysql 插件使用另一个名称查找环境变量。

您可以检查 /usr/share/munin/plugins/mysql_

my %config = (
    'dsn'        => $ENV{'mysqlconnection'} || 'DBI:mysql:mysql',
    'user'       => $ENV{'mysqluser'}       || 'root',
    'password'   => $ENV{'mysqlpassword'}   || '',
);

因为脚本没有检查“mysqlopts”,所以我必须设置

[mysql*]
env.mysqluser username
env.mysqlpassword pass

然后重新启动 munin-node(为了安全起见)。

相关内容