This is a translation of the original English documentation page. Help us make it better.

1 Креирање базе података

Преглед

Zabbix база података мора бити креирана током инсталације Zabbix сервера или проксија.

Овај одељак пружа упутства за креирање Zabbix базе података. За сваку подржану базу података доступан је посебан скуп упутстава.

Да бисте побољшали безбедност базе података креирањем улога/корисника базе података са минималним привилегијама, погледајте најбоље праксе за креирање базе података за сваку подржану базу података:

За конфигурисање безбедних TLS веза, погледајте Безбедна веза са базом података.

UTF-8 је једино кодирање које Zabbix подржава. Познато је да ради без икаквих безбедносних пропуста. Корисници треба да буду свесни да постоје познати безбедносни проблеми ако користе нека друга кодирања. За прелазак на UTF-8, погледајте Поправка скупа знакова и колације базе података Zabbix.

Ако инсталирате из Zabbix Git репозиторијума, потребно је да покренете следећу команду пре него што пређете на следеће кораке:

make dbschema

MySQL/MariaDB

Подржани су скупови знакова utf8 (познат и као utf8mb3) и utf8mb4 (са колацијама utf8_bin и utf8mb4_bin, респективно) да би Zabbix сервер/прокси правилно радио са MySQL базом података. Препоручује се коришћење utf8mb4 за нове инсталације.

Детерминистичке окидаче је потребно креирати током увоза шеме. На MySQL-у и MariaDB-у, ово захтева да се подеси GLOBAL log_bin_trust_function_creators = 1 ако је бинарно логовање омогућено и нема привилегија суперкорисника и log_bin_trust_function_creators = 1 није подешено у MySQL конфигурационој датотеци.

Ако инсталирате из Zabbix пакета, пређите на упутства за вашу платформу.

Ако инсталирате 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 privilegies on zabbix.* to 'zabbix'@'localhost';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • Увезите податке у базу података и поставите utf8mb4 скуп знакова као подразумевани. За Zabbix прокси базу података, треба увести само schema.sql (не images.sql нити data.sql).
cd database/mysql
       mysql -uzabbix -p<password> zabbix < schema.sql
       # зауставите се овде ако креирате базу података за 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 може бити онемогућен након што је шема успешно увезена:

mysql -uroot -p<password>
       
       mysql> SET GLOBAL log_bin_trust_function_creators = 0;
       mysql> quit;

PostgreSQL

Потребно вам је да имате корисника базе података са дозволама за креирање објеката базе података.

Ако инсталирате из Zabbix пакета, пређите на упутства за вашу платформу.

Ако инсталирате Zabbix из извора:

  • Креирајте корисника базе података.

Следећа команда shell-а ће креирати корисника zabbix. Наведите лозинку када се то затражи и поновите лозинку (напомена, прво ћете можда бити замољени за sudo лозинку):

sudo -u postgres createuser --pwprompt zabbix
  • Креирајте базу података.

Следећа команда shell-а ће креирати базу података zabbix (последњи параметар) са претходно креираним корисником као власником (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Увезите почетну шему и податке (под претпоставком да сте у коренском директоријуму Zabbix извора). За Zabbix прокси базу података, треба увести само schema.sql (не images.sql нити data.sql).
cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # зауставите се овде ако креирате базу података за Zabbix proxy
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

Горе наведене команде су дате као пример који ће радити у већини GNU/Linux инсталација. Можете користити различите команде у зависности од тога како је ваш систем/база података конфигурисан, на пример:

psql -U <корисничко име>

Ако имате било каквих проблема са подешавањем базе података, обратите се администратору базе података.

TimescaleDB

Упутства за креирање и конфигурисање TimescaleDB-а су дата у одвојеној секцији.

SQLite

Коришћење SQLite-а је подржано само за ** Zabbix прокси**!

База података ће бити аутоматски креирана ако не постоји.

Вратите се на секцију за инсталацију.