在安装Zabbix时必须创建Zabbix数据库server 或 proxy.
本节提供创建Zabbix数据库的指导说明. 针对每个支持的数据库都有单独的说明集.
UTF-8是Zabbix唯一支持的编码格式. 已知该编码不存在任何安全缺陷. 用户应注意,如果使用某些其他编码格式会存在已知的安全问题. 另请参阅使用utf8mb4排序规则过滤的限制.
如果从Zabbix Git repository安装,您需要先run以下命令才能继续后续步骤:
make dbschema
为确保Zabbix server/proxy在MySQL数据库中正常运行,支持字符集utf8(即utf8mb3)和utf8mb4(分别对应utf8_bin和utf8mb4_bin排序规则)。新安装建议使用utf8mb4。
对于Zabbix 6.0.11及更高版本,在import模式时需要创建确定性触发器。在MySQL和mariadb上,若启用了二进制日志且没有超级用户权限,且MySQL配置file中未设置log_bin_trust_function_creators=1,则需设置GLOBAL log_bin_trust_function_creators = 1
。
若通过Zabbix软件包安装,请转至对应平台的instructions。
若从源码安装Zabbix:
mysql -uroot -p<password>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<password>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
schema.sql
(无需images.sql和data.sql)。cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# stop here if you are creating database for Zabbix proxy
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> zabbix < data.sql
成功导入模式后可禁用log_bin_trust_function_creators
:
您需要一个对数据库create拥有权限的用户 objects.
如果通过Zabbix软件包安装,请转至对应平台的instructions.
如果从源码安装Zabbix:
以下shell命令将create用户zabbix
. 根据提示输入密码并重复确认(注意,系统可能首先要求输入sudo
密码):
以下shell命令将create数据库zabbix
(最后一个参数),并指定之前创建的用户作为所有者(-O zabbix
).
对于Zabbix proxy数据库,只需导入schema.sql
(无需导入images.sql和data.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# stop here if you are creating database for Zabbix proxy
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
以上命令适用于大多数GNU/Linux安装环境. 根据系统/数据库配置的不同,您可能需要使用其他命令,例如:
psql -U <username>
若在数据库设置过程中遇到问题,请咨询数据库管理员.
关于创建和配置TimescaleDB的说明请参阅单独的section。
创建和配置Oracle数据库的说明在单独的section中提供。
SQLite仅支持Zabbix proxy使用!
若数据库不存在 将自动创建