Zabbix web не соединяется с БД
Установил на виртуальный сервер zabbix 6.2. В качестве хранилища MySQL 8.0.31. На виртуальной машине стоит Ubuntu 22.04. Все ровно так же как по инструкции https://www.zabbix.com/download?zabbix=6.2&os_distribution=ubuntu&os_version=22.04&components=server_frontend_agent&db=mysql&ws=apache. Пароли и в /etc/zabbix/zabbix_server.conf, и в /etc/zabbix/web/zabbix.conf.php одинаковы
DBName=zabbix
DBUser=zabbix
DBPassword=10xx83
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = '10xX83';
В логах ошибок нет, все запускается нормально, но при попытке зайти на http://localhost/zabbix выдает следующую ошибку и дальше не идет
UPDATE
/**
* Create connection to database server.
*
* @param string $host Host name.
* @param string $port Port.
* @param string $user User name.
* @param string $password Password.
* @param string $dbname Database name.
* @param string $schema DB schema.
*
* @return mysqli|null
*/
public function connect($host, $port, $user, $password, $dbname, $schema): ?mysqli {
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
print_r($host, $port, $user, $password, $dbname, $schema);
$resource = mysqli_init();
if ($resource === false) {
return null;
}
if ($this->tls_encryption) {
$cipher_suit = $this->tls_cipher_list !== '' ? $this->tls_cipher_list : null;
$resource->ssl_set($this->tls_key_file, $this->tls_cert_file, $this->tls_ca_file, null, $cipher_suit);
$tls_mode = MYSQLI_CLIENT_SSL;
}
else {
$tls_mode = 0;
}
try {
@$resource->real_connect($host, $user, $password, $dbname, $port, null, $tls_mode);
}
catch (mysqli_sql_exception $e) {
$this->setError($e->getMessage());
return null;
}
if ($resource->autocommit(true) === false) {
$this->setError('Error setting auto commit.');
return null;
}
return $resource;
}
Решение Все таки в /etc/zabbix/web/zabbix.conf.php был неверно вбит пароль, после правки все заработало
Источник: Stack Overflow на русском