#1 Database maken
Tijdens de installatie van de Zabbix-server of -proxy moet een Zabbix-database worden aangemaakt.
Deze sectie biedt instructies voor het aanmaken van een Zabbix-database. Er zijn aparte instructies beschikbaar voor elke ondersteunde database.
UTF-8 is de enige codering die door Zabbix wordt ondersteund. Het is bekend dat het werkt zonder enige beveiligingsproblemen. Gebruikers moeten zich ervan bewust zijn dat er bekende beveiligingsproblemen zijn bij het gebruik van sommige andere coderingen. Voor het overschakelen naar UTF-8, zie Het herstellen van de tekenreeks en collatie van de Zabbix-database.
Als u installeert vanuit de Zabbix Git repository, moet u de volgende opdracht uitvoeren voordat u verder gaat met de volgende stappen:
$ make dbschema
Karaktersets utf8 (ook bekend als utf8mb3) en utf8mb4 worden ondersteund (met respectievelijk utf8_bin en utf8mb4_bin collatie) om de Zabbix-server/-proxy correct te laten werken met de MySQL-database. Het wordt aanbevolen om utf8mb4 te gebruiken voor nieuwe installaties.
Deterministische triggers moeten worden aangemaakt tijdens het importeren van het schema. Op MySQL en MariaDB vereist dit dat GLOBAL log_bin_trust_function_creators = 1
wordt ingesteld als binaire logging is ingeschakeld en er geen supergebruikersrechten zijn, en log_bin_trust_function_creators = 1 is niet ingesteld in het MySQL-configuratiebestand.
Als u installeert vanuit Zabbix packages, ga dan naar de instructies voor uw platform.
Als u Zabbix installeert vanuit bronnen:
mysql -uroot -p<wachtwoord>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<wachtwoord>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
schema.sql
worden geïmporteerd (niet images.sql of data.sql).cd database/mysql
mysql -uzabbix -p<wachtwoord> zabbix < schema.sql
# Stop hier als u een database voor de Zabbix-proxy maakt
mysql -uzabbix -p<wachtwoord> zabbix < images.sql
mysql -uzabbix -p<wachtwoord> --default-character-set=utf8mb4 zabbix < data.sql
log_bin_trust_function_creators
kan worden uitgeschakeld nadat het schema succesvol is geïmporteerd:
U moet een databasegebruiker hebben met rechten om databasesobjecten te maken.
Als u installeert vanuit Zabbix packages, ga dan naar de instructies voor uw platform.
Als u Zabbix installeert vanuit bronnen:
De volgende shell-opdracht zal de gebruiker zabbix
aanmaken. Geef een wachtwoord op wanneer daarom wordt gevraagd en herhaal het wachtwoord (let op, mogelijk wordt u eerst gevraagd om het sudo
-wachtwoord):
De volgende shell-opdracht zal de database zabbix
(laatste parameter) aanmaken met de eerder aangemaakte gebruiker als eigenaar (-O zabbix
).
schema.sql
worden geïmporteerd (niet images.sql of data.sql).cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# Stop hier als u een database voor de Zabbix-proxy maakt
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
De bovenstaande opdrachten worden gegeven als een voorbeeld dat zal werken in de meeste GNU/Linux-installaties. U kunt verschillende opdrachten gebruiken, afhankelijk van hoe uw systeem/database is geconfigureerd, bijvoorbeeld:
psql -U <gebruikersnaam>
Als u problemen ondervindt bij het instellen van de database, raadpleeg dan uw databasebeheerder.
Instructies voor het maken en configureren van TimescaleDB vindt u in a aparte sectie.
Het gebruik van SQLite wordt alleen ondersteund voor Zabbix-proxy!
Als SQLite met Zabbix-proxy wordt gebruikt, wordt de database automatisch aangemaakt als het niet bestaat.
Keer terug naar de installatiesectie.