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

Преглед

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

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

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

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

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

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

make dbschema

MySQL/MariaDB

Подржани су скупови карактера utf8 (aka 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 privileges 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
       # 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 може да се онемогући након што је шема успешно увезена:

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
       # 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

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

Oracle

Дата су упутства за креирање и конфигурисање Oracle базе података у посебној секцији.

SQLite

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

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

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