[comment]: # translation:outdated

[comment]: # ({7af1bbaa-7af1bbaa})
# 1 Tworzenie bazy danych

[comment]: # ({/7af1bbaa-7af1bbaa})

[comment]: # ({fab90562-fab90562})
#### 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ń.

[comment]: # ({/fab90562-fab90562})

[comment]: # ({44d449fd-fad527fc})

::: noteclassic
Jeśli instalujesz z [repozytorium Git Zabbixa](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), musisz najpierw wykonać następującą komendę, zanim przejdziesz do kolejnych kroków:
<br><br>
`make dbschema`
:::

[comment]: # ({/44d449fd-fad527fc})

[comment]: # ({db3c85e3-1e36e539})
#### 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](https://www.zabbix.com/download) dla
twojej platformy.

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

* Utwórz i skonfiguruj bazę danych oraz użytkownika.

```bash
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).

```bash
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:

```bash
mysql -uroot -p<hasło>

mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;
```

[comment]: # ({/db3c85e3-1e36e539})

[comment]: # ({078be25e-61d6043c})
#### 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](https://www.zabbix.com/download) 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`):

```bash
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`).

```bash
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).

```bash
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
```

::: noteimportant
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:
<br><br>
`psql -U <nazwa_użytkownika>`
<br><br>
Jeśli masz problemy z konfiguracją bazy danych, skonsultuj się z administratorem bazy danych. 
:::

[comment]: # ({/078be25e-61d6043c})

[comment]: # ({cc68ca58-cc68ca58})
#### TimescaleDB

Instrukcje dotyczące tworzenia i konfigurowania TimescaleDB są dostarczane w 
osobnej [sekcji](/manual/appendix/install/timescaledb).

[comment]: # ({/cc68ca58-cc68ca58})

[comment]: # ({7b4d56a7-7b4d56a7})
#### TimescaleDB

Instrukcje dotyczące tworzenia i konfigurowania bazy danych Oracle są dostarczane w 
osobnej [sekcji](/manual/appendix/install/oracle).

[comment]: # ({/7b4d56a7-7b4d56a7})

[comment]: # ({870c2e3b-02d49e4f})
#### SQLite

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

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

Powróć do [sekcji instalacji](/manual/installation/install).

[comment]: # ({/870c2e3b-02d49e4f})
