S'ha de crear una base de dades Zabbix durant la instal·lació del servidor o proxy Zabbix.
Aquesta secció proporciona instruccions per crear una base de dades Zabbix. Hi ha disponible un conjunt d'instruccions independent per a cada base de dades compatible.
Per millorar la seguretat de la base de dades creant rols/usuaris de base de dades amb privilegis mínims, consulteu les pràctiques recomanades de creació de bases de dades per a cada base de dades compatible:
Per configurar connexions TLS segures, consulteu Connexió segura a la base de dades.
UTF-8 és l'única codificació admesa per Zabbix. Se sap que funciona sense cap falla de seguretat. Els usuaris han de ser conscients que hi ha problemes de seguretat coneguts si empren algunes de les altres codificacions. Per canviar a UTF-8, veieu Reparació del conjunt de caràcters i la intercalació de la base de dades Zabbix. UTF-8 és l'única codificació suportada per Zabbix. Se sap que funciona sense cap falla de seguretat. Els usuaris han de ser conscients que hi ha problemes de seguretat coneguts si utilitzen algunes de les altres codificacions. Per canviar a UTF-8, vegeu Reparació del conjunt de caràcters i la intercalació de la base de dades Zabbix.
Si s'instal·la des del repositori Git de Zabbix, heu d'executar la comanda següent abans de seguir amb la resta de passes:
make dbschema
El conjunt de caracters utf8 (aka utf8mb3) i utf8mb4 es suporten (amb col·lació utf8_bin i utf8mb4_bin, respectivament) per tal que el servidor/proxy Zabbix treballi correctament amb la base de dades MySQL. En instal·lacions noves, es recomana emprar utf8mb4.
Alguns triggers s'han de crear durant la importació de l'esquema. Amb MySQL i MariaDB, cal que s'estableixi GLOBAL log_bin_trust_function_creators = 1
si s'ha activat el registre binari i si no hi ha privilegis de superusuari i no s'estableix pas el log_bin_trust_function_creators = 1 a l'arxiu de configuració de MySQL.
Si instal·les des dels packages de Zabbix, seguiu les instruccions de la vostra plataforma.
Si instal·leu Zabbix des de les fonts:
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
(sense images.sql ni 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> --default-character-set=utf8mb4 zabbix < data.sql
log_bin_trust_function_creators
es pot deshabilitar després que l'esquema s'hagi importat correctament:
Us cal tindre un usuari de la base de dades amb permisos per crear objectes a la base de dades.
Si instal·leu des dels packages Zabbix, seguiu les instruccions de la vostra plataforma.
Si instal·leu Zabbix des de les fonts:
Aquesta comanda crearà l'usuari zabbix
. Definiu una paraula de pas quan us ho demani, i repetiu-la (fixeu-vos que primer us demanarà la paraula de pas per executar la comanda sudo
):
La següent comanda crearà la base de dades zabbix
(darrer paràmetre), definint com a propietari l'usuari crear abans (-O zabbix
).
schema.sql
(ni images.sql ni 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
Les comandes de més amunt són un exemple que funcionarà a la majoria d'instal·lacions GNU/Linux. Podeu emprar comandes diferents segons on sigui configurat el vostre sistema/base de dades, per exemple:
psql -U <username>
Si teniu cap problema configurant la base de dades, consulteu l'administrador de bases de dades.
Les instruccions de creació i configuració de TimescaleDB es proveeixen en una secció diferent.
L'ús d'SQLite només s'admet al proxy Zabbix !
La base de dades serà creada automàticament si no existeix.
Torneu a la secció d'instal·lació.