1 Tworzenie bazy danych

Przegląd

Baza danych Zabbixa musi być utworzona podczas instalacji serwera Zabbix lub proxy.

Ta sekcja zawiera instrukcje dotyczące tworzenia bazy danych Zabbixa. Dostępny jest oddzielny zestaw instrukcji dla każdej obsługiwanej bazy danych.

UTF-8 jest jedynym kodowaniem obsługiwanym przez Zabbixa. Wiadomo, że działa bez żadnych wad związanych z bezpieczeństwem. Użytkownicy powinni być świadomi, że istnieją znane problemy związane z bezpieczeństwem przy użyciu niektórych innych kodowań.

Jeśli instalujesz z repozytorium Git Zabbixa, musisz najpierw wykonać następującą komendę, zanim przejdziesz do kolejnych kroków:

make dbschema

MySQL/MariaDB

Zbiory znaków utf8 (także utf8mb3) i utf8mb4 są obsługiwane (odpowiednio z kolekcją utf8_bin i utf8mb4_bin) dla prawidłowego działania serwera/proxy Zabbixa z bazą danych MySQL. Zaleca się używanie utf8mb4 dla nowych instalacji.

Dla Zabbixa w wersji 6.0.11 i nowszych, wyzwalacze deterministyczne muszą być tworzone podczas importu schematu. W przypadku MySQL i MariaDB wymaga to ustawienia GLOBAL log_bin_trust_function_creators = 1, jeśli jest włączone logowanie binarne i nie ma uprawnień superużytkownika, a log_bin_trust_function_creators = 1 nie jest ustawione w pliku konfiguracyjnym MySQL.

Jeśli instalujesz Zabbixa z pakietów, przejdź do instrukcji dla twojej platformy.

Jeśli instalujesz Zabbixa ze źródeł:

  • Utwórz i skonfiguruj bazę danych oraz użytkownika.
mysql -uroot -p<hasło>
       
       mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
       mysql> create user 'zabbix'@'localhost' identified by '<hasło>';
       mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • Zaimportuj dane do bazy danych. Dla bazy danych proxy Zabbixa należy zaimportować tylko schema.sql (bez images.sql ani data.sql).
cd database/mysql
       mysql -uzabbix -p<hasło> zabbix < schema.sql
       # zatrzymaj się tutaj, jeśli tworzysz bazę danych dla Zabbixa proxy
       mysql -uzabbix -p<hasło> zabbix < images.sql
       mysql -uzabbix -p<hasło> zabbix < data.sql

log_bin_trust_function_creators można wyłączyć po pomyślnym zaimportowaniu schematu:

mysql -uroot -p<hasło>
       
       mysql> SET GLOBAL log_bin_trust_function_creators = 0;
       mysql> quit;

PostgreSQL

Musisz mieć użytkownika bazy danych z uprawnieniami do tworzenia obiektów bazy danych.

Jeśli instalujesz z pakietów Zabbixa, przejdź do instrukcji dla twojej platformy.

Jeśli instalujesz Zabbixa ze źródeł:

  • Utwórz użytkownika bazy danych.

Następująca komenda powłoki utworzy użytkownika zabbix. Podaj hasło, gdy zostaniesz o to poproszony, i powtórz hasło (zauważ, że możesz być najpierw poproszony o hasło sudo):

sudo -u postgres createuser --pwprompt zabbix
  • Utwórz bazę danych.

Następująca komenda powłoki utworzy bazę danych zabbix (ostatni parametr) z wcześniej utworzonym użytkownikiem jako właścicielem (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Zaimportuj początkowy schemat i dane (załóżmy, że jesteś w katalogu głównym źródeł Zabbix).

Dla bazy danych proxy Zabbixa, należy zaimportować tylko schema.sql (bez images.sql ani data.sql).

cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # zatrzymaj się tutaj, jeśli tworzysz bazę danych dla Zabbixa proxy
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

Powyższe komendy są podane jako przykład, który będzie działał w większości instalacji GNU/Linux. Możesz użyć innych poleceń, w zależności od tego, jak jest skonfigurowany twój system/baza danych, na przykład:

psql -U <nazwa_użytkownika>

Jeśli masz problemy z konfiguracją bazy danych, skonsultuj się z administratorem bazy danych.

TimescaleDB

Instrukcje dotyczące tworzenia i konfigurowania TimescaleDB są dostarczane w osobnej sekcji.

TimescaleDB

Instrukcje dotyczące tworzenia i konfigurowania bazy danych Oracle są dostarczane w osobnej sekcji.

SQLite

Używanie SQLite jest obsługiwane tylko dla proxy Zabbix!

Baza danych zostanie automatycznie utworzona, jeśli nie istnieje.

Powróć do sekcji instalacji.