Zabbix 尝试连接到错误的数据库

Zabbix 尝试连接到错误的数据库

我已经在 CentOS 7 远程服务器上安装了 Zabbix,但无法运行它。

我看了一下/var/log/zabbix/并收到以下错误:

1951:20190116:044530.834 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)

现在,问题是我确实有一个 zabbix 数据库,但它的名字是zabbixdb,而不是zabbix(如错误消息中所示)

我尝试重新运行设置页面并输入zabbixdb,但仍然没有任何反应。此外,/etc/zabbix/web/zabbix.conf.php已正确配置

global $DB;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '127.0.0.1';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbixdb';
$DB['USER']     = 'zabbixuser';
$DB['PASSWORD'] = '[my_pass_here]';

// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';

$ZBX_SERVER      = '127.0.0.1';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'SV Zabbix Server';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

我仔细检查了一下,它zabbixdb确实存在,并且用户zabbixuser对它拥有所有权限。

GRANT ALL PRIVILEGES ON `zabbixdb`.* TO 'zabbixuser'@'localhost'                                                  

还有什么其他原因?zabbix 有访问权限,因为它已经在中创建了表zabbixdb,但无法使用它们。


编辑:解决方案

事实证明,我只是盲目地遵循了教程的说明。感谢@Zatarra 提供的解决方案。

我的问题是,当我写入数据库的凭证时,我将它们准确地写在文件的顶部,而它们也存在于较低的级别,因此,在读取时,它们会在内存中被覆盖。

我通过修改文件中较低级别的变量解决了这个问题。

答案1

尝试重新启动服务并检查它是否仍尝试在日志中使用 zabbix 数据库。如果确实如此,请检查是否有重复的 DBName 条目zabbix_server.conf

grep DBName /etc/zabbix/zabbix_server.conf

您收到的是 zabbix web 还是 zabbix server 的错误?据我所知,您粘贴的是 web 配置,也许您找错了地方。

相关内容