Um banco de dados Zabbix deve ser criado durante a instalação do Zabbix server ou proxy.
Esta seção fornece instruções para criar um banco de dados Zabbix. Um conjunto separado de instruções está disponível para cada banco de dados suportado.
Para melhorar a segurança do banco de dados criando funções/usuários de banco de dados com privilégios mínimos, consulte as melhores práticas de criação de banco de dados para cada banco de dados suportado:
Para configurar conexões TLS seguras, consulte Conexão segura com o banco de dados.
UTF-8 é a única codificação suportada pelo Zabbix. Sabe-se que funciona sem falhas de segurança. Os usuários devem estar cientes de que existem problemas de segurança conhecidos ao usar algumas das outras codificações. Para alternar para UTF-8, consulte Reparando o conjunto de caracteres e a collation do banco de dados Zabbix. Veja também Limites de filtragem com collations utf8mb4.
Se estiver instalando a partir do repositório Git do Zabbix, você precisa executar o seguinte comando antes de prosseguir para as próximas etapas:
make dbschema
Os conjuntos de caracteres utf8 (também conhecido como utf8mb3) e utf8mb4 são suportados (com as colações utf8_bin e utf8mb4_bin, respectivamente) para que o Zabbix server/proxy funcione corretamente com o banco de dados MySQL. Recomenda-se usar utf8mb4 para novas instalações.
Triggers determinísticos precisam ser criados durante a importação do schema. No MySQL e MariaDB, isso requer que GLOBAL log_bin_trust_function_creators = 1 seja definido se o log binário estiver habilitado e não houver privilégios de superusuário e log_bin_trust_function_creators = 1 não estiver definido no arquivo de configuração do MySQL.
Se você estiver instalando a partir dos pacotes do Zabbix, siga as instruções para sua plataforma.
Se você estiver instalando o Zabbix a partir do código-fonte:
mysql -uroot -p<senha>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<senha>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;schema.sql deve ser importado (não importando images.sql nem data.sql).cd database/mysql
mysql -uzabbix -p<senha> zabbix < schema.sql
# pare aqui se estiver criando o banco de dados para o proxy do Zabbix
mysql -uzabbix -p<senha> zabbix < images.sql
mysql -uzabbix -p<senha> --default-character-set=utf8mb4 zabbix < data.sqllog_bin_trust_function_creators pode ser desabilitado após o schema ter sido importado com sucesso:
Você precisa ter um usuário de banco de dados com permissões para criar objetos no banco de dados.
Se você está instalando a partir de pacotes do Zabbix, siga as instruções para sua plataforma.
Se você está instalando o Zabbix a partir do código-fonte:
O seguinte comando shell irá criar o usuário zabbix. Especifique uma senha quando solicitado e repita a senha (observe que, primeiro, pode ser solicitada a senha do sudo):
O seguinte comando shell irá criar o banco de dados zabbix (último parâmetro) com o usuário criado anteriormente como proprietário (-O zabbix).
schema.sql deve ser importado (não importando images.sql nem data.sql).cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# pare aqui se você estiver criando o banco de dados para o proxy do Zabbix
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbixOs comandos acima são fornecidos como exemplo e funcionarão na maioria das instalações GNU/Linux. Você pode usar comandos diferentes dependendo de como seu sistema/banco de dados está configurado, por exemplo:
psql -U <username>
Se você tiver qualquer problema ao configurar o banco de dados, consulte o administrador do seu banco de dados.
As instruções para criar e configurar o TimescaleDB são fornecidas em uma seção separada.
O uso do SQLite é suportado apenas para o Zabbix proxy!
O banco de dados será criado automaticamente se não existir.
Retorne à seção de instalação.