# 1 Skrypty tworzenia bazy danych

#### Przegląd

Podczas instalacji serwera lub proxy Zabbix musi być utworzona baza
danych.

Rozdział ten zawiera skrypty tworzenia bazy danych Zabbix. Dla każdej
obsługiwanej bazy danych dostępny jest osobny skrypt.

::: notetip
Pliki **schema.sql**, **images.sql** oraz **data.sql**
można znaleźć w katalogu źródeł Zabbix, w podkatalogu *database*. Jeżeli
Zabbix został zainstalowany z paczek dystrybucyjnych, należy spojrzeć do
dokumentacji dystrybucji.
:::

::: noteimportant
Dla bazy danych proxy Zabbix powinien być
importowany **tylko** `schema.sql` (bez images.sql czy
data.sql)
:::

**Skrypty**

#### MySQL

Zakładamy, że istnieje użytkownik *username* z hasłem *password* i
posiada uprawnienia do tworzenia obiektów bazy danych.

    shell> mysql -u<username> -p<password>
    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> quit;
    shell> mysql -u<username> -p<password> zabbix < database/mysql/schema.sql
    # tu trzeba się zatrzymać jeżeli tworzymy bazę danych dla proxy Zabbix
    shell> mysql -u<username> -p<password> zabbix < database/mysql/images.sql
    shell> mysql -u<username> -p<password> zabbix < database/mysql/data.sql

#### PostgreSQL

Zakładamy, że istnieje użytkownik *username* i posiada uprawnienia do
tworzenia obiektów bazy danych.

    shell> psql -U <username>
    psql> create database zabbix; 
    psql> \q 
    shell> cd database/postgresql
    shell> psql -U <username> zabbix < schema.sql
    # tu trzeba się zatrzymać jeżeli tworzymy bazę danych dla proxy Zabbix
    shell> psql -U <username> zabbix < images.sql
    shell> psql -U <username> zabbix < data.sql

#### Oracle

Zakładamy, że istnieje użytkownik bazy danych *zabbix* z hasłem
*password* i posiada uprawnienia do tworzenia obiektów bazy danych w
usłudze ORCL zlokalizowanej na serwerze bazy danych Oracle *host* z
użytkownikiem systemowym *user* posiadającym prawa do zapisu w katalogu
/tmp.

Jeżeli tworzymy bazę danych dla serwera Zabbix, należy gdzieś na hoście
serwera Oracle umieścić obrazki, np. w katalogu /tmp/zabbix\_images.
Kopiujemy wszystkie obrazki z misc/images/png\_modern do katalogu
/tmp/zabbix\_images na hoście Oracle:

    shell> cd /path/to/zabbix-sources  
    shell> scp -r misc/images/png_modern user@host:/tmp/zabbix_images 

Zmieniamy plik database/oracle/images.sql i ustawiamy zmienną
images\_dir na nową lokalizację /tmp.zabbix\_images:

    CREATE OR REPLACE DIRECTORY image_dir AS '/tmp/zabbix_images'

Teraz przygotowujemy bazę danych:

    shell> sqlplus zabbix/password@host/ORCL
    sqlplus> @database/oracle/schema.sql
    # tu trzeba się zatrzymać jeżeli tworzymy bazę danych dla proxy Zabbix
    sqlplus> @database/oracle/images.sql
    sqlplus> @database/oracle/data.sql

::: noteclassic
Zabbix wymaga kodowania UTF-8. Jeżeli baza danych nie jest w
UTF-8, można ją przekonwertować poleceniem:
`ALTER DATABASE NATIONAL CHARACTER SET UTF8;`
:::

#### IBM DB2

    shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768"
    shell> cd database/ibm_db2
    shell> db2batch -d zabbix -f schema.sql
    # tu trzeba się zatrzymać jeżeli tworzymy bazę danych dla proxy Zabbix
    shell> db2batch -d zabbix -f images.sql
    shell> db2batch -d zabbix -f data.sql 

#### SQLite

    shell> cd database/sqlite3
    shell> sqlite3 /var/lib/sqlite/zabbix.db < schema.sql
    # tu trzeba się zatrzymać jeżeli tworzymy bazę danych dla proxy Zabbix
    shell> sqlite3 /var/lib/sqlite/zabbix.db < images.sql
    shell> sqlite3 /var/lib/sqlite/zabbix.db < data.sql

::: noteclassic
Jeżeli proxy Zabbix używa SQLite, baza danych zostanie
automatycznie utworzona, jeżeli jeszcze jej nie ma.
:::

Powrót do [rozdziału instalacja](/pl/manual/installation/install).
