[comment]: # ({7af1bbaa-7af1bbaa})
# 1 Datubāzes izveide

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

[comment]: # ({ce45ad34-fab90562})
#### Pārskats

Zabbix datubāze ir jāizveido Zabbix servera vai starpniekservera instalēšanas laikā.

Šajā sadaļā ir sniegtas instrukcijas Zabbix datubāzes izveidei.
Katram atbalstītajam datubāzes veidam ir pieejams atsevišķs instrukciju kopums.

::: noteclassic
Lai uzlabotu datubāzes drošību, izveidojot datubāzes lomas/lieto­tājus ar minimālām tiesībām, skatiet datubāzes izveides labāko praksi katram atbalstītajam datubāzes veidam:
<br><br>

-   [MySQL/MariaDB](/manual/best_practices/security/access_control/mysql)
-   [PostgreSQL/TimescaleDB](/manual/best_practices/security/access_control/postgresql)
-   [Oracle](/manual/best_practices/security/access_control/oracle)

Drošu TLS savienojumu konfigurēšanai skatiet [Drošs savienojums ar datubāzi](/manual/appendix/install/db_encrypt).
:::

UTF-8 ir vienīgais Zabbix atbalstītais kodējums.
Ir zināms, ka tas darbojas bez drošības trūkumiem.
Lietotājiem jāņem vērā, ka, izmantojot dažus citus kodējumus, ir zināmas drošības problēmas.
Lai pārietu uz UTF-8, skatiet [Zabbix datubāzes rakstzīmju kopas un salīdzināšanas kārtības labošana](/manual/appendix/install/db_charset_coll).
Skatiet arī [Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanas kārtībām](/manual/installation/known_issues#limits-of-filtering-with-utf8mb4-collations).

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

[comment]: # ({44d449fd-fad527fc})
::: noteclassic
Ja instalējat no [Zabbix Git repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), pirms pārejas uz nākamajām darbībām ir jāizpilda šāda komanda:
<br><br>
`make dbschema`
:::

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

[comment]: # ({662036d6-1e36e539})
#### MySQL/MariaDB

Rakstzīmju kopas utf8 (jeb utf8mb3) un utf8mb4 tiek atbalstītas (attiecīgi ar utf8_bin un utf8mb4_bin salīdzināšanas kārtību), lai Zabbix serveris/starpniekserveris pareizi darbotos ar MySQL datubāzi.
Jaunām instalācijām ieteicams izmantot utf8mb4.

Deterministiskie trigeri ir jāizveido shēmas importēšanas laikā.
MySQL un MariaDB gadījumā tas prasa iestatīt `GLOBAL log_bin_trust_function_creators = 1`, ja ir iespējota binārā žurnalēšana un nav superlietotāja privilēģiju, kā arī `log_bin_trust_function_creators = 1` nav iestatīts MySQL konfigurācijas failā.

Ja instalējat Zabbix no [pakotnēm](https://www.zabbix.com/download) vai [konteineriem](/manual/installation/containers), skatiet attiecīgās instrukcijas.

Ja instalējat Zabbix no avota koda:

* Izveidojiet un konfigurējiet datubāzi un lietotāju.

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

* Importējiet datus datubāzē un iestatiet utf8mb4 rakstzīmju kopu kā noklusējuma (pieņemot, ka atrodaties Zabbix avota koda saknes direktorijā).
Zabbix starpniekservera datubāzei jāimportē tikai `schema.sql` (nevis `images.sql` vai `data.sql`).

```bash
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# apstājieties šeit, ja veidojat datubāzi Zabbix starpniekserverim
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql
```

`log_bin_trust_function_creators` var atspējot pēc tam, kad shēma ir veiksmīgi importēta:

```bash
mysql -uroot -p<password>

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

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

[comment]: # ({55f587f3-61d6043c})
#### PostgreSQL

Jums ir nepieciešams datubāzes lietotājs ar tiesībām izveidot datubāzes objektus.

Ja instalējat Zabbix no [pakotnēm](https://www.zabbix.com/download) vai [konteineriem](/manual/installation/containers), skatiet attiecīgās instrukcijas.

Ja instalējat Zabbix no avota kodiem:

* Izveidojiet datubāzes lietotāju.

Tālāk redzamā čaulas komanda izveidos lietotāju `zabbix`.
Kad tiek prasīts, norādiet paroli un atkārtojiet to (ņemiet vērā, ka vispirms, iespējams, tiks prasīta `sudo` parole):

```bash
sudo -u postgres createuser --pwprompt zabbix
```

* Izveidojiet datubāzi.

Tālāk redzamā čaulas komanda izveidos datubāzi `zabbix` (pēdējais parametrs), par tās īpašnieku norādot iepriekš izveidoto lietotāju (`-O zabbix`).

```bash
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
```

* Importējiet sākotnējo shēmu un datus (pieņemot, ka atrodaties Zabbix avota kodu saknes direktorijā).
Zabbix starpniekservera datubāzei jāimportē tikai `schema.sql` (nevis `images.sql` un `data.sql`).

```bash
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# apstājieties šeit, ja veidojat datubāzi Zabbix starpniekserverim
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
```

::: noteimportant
Iepriekš minētās komandas ir sniegtas kā piemērs, kas darbosies lielākajā daļā GNU/Linux instalāciju.
Atkarībā no tā, kā ir konfigurēta jūsu sistēma/datubāze, varat izmantot citas komandas, piemēram:
<br><br>
`psql -U <username>`
<br><br>
Ja rodas problēmas ar datubāzes iestatīšanu, lūdzu, sazinieties ar savu datubāzes administratoru.
:::

[comment]: # ({/55f587f3-61d6043c})

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

Norādījumi TimescaleDB izveidei un konfigurēšanai ir sniegti atsevišķā [sadaļā](/manual/appendix/install/timescaledb).

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

[comment]: # ({3ed94695-7b4d56a7})
#### Oracle

Norādījumi Oracle datubāzes izveidei un konfigurēšanai ir sniegti atsevišķā [sadaļā](/manual/appendix/install/oracle).

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

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

SQLite izmantošana tiek atbalstīta tikai **Zabbix starpniekserverim**!

Ja datubāze nepastāv, tā tiks izveidota automātiski.

Atgriezieties uz [instalēšanas sadaļu](/manual/installation/install).

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