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

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

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

Während der Installation von Zabbix Server oder Proxy muss eine Zabbix-Datenbank erstellt werden.

Dieser Abschnitt enthält Anweisungen zum Erstellen einer Zabbix-Datenbank.
Für jede unterstützte Datenbank steht ein separater Satz von Anweisungen zur Verfügung.

::: noteclassic
Um die Sicherheit der Datenbank zu verbessern, indem Datenbankrollen/-benutzer mit minimalen Berechtigungen erstellt werden, siehe die Best Practices zur Datenbankerstellung für jede unterstützte Datenbank:
<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)

Für die Konfiguration sicherer TLS-Verbindungen siehe [Sichere Verbindung zur Datenbank](/manual/appendix/install/db_encrypt).
:::

UTF-8 ist die einzige von Zabbix unterstützte Kodierung.
Es ist bekannt, dass sie ohne Sicherheitsmängel funktioniert.
Benutzer sollten sich bewusst sein, dass bei der Verwendung einiger anderer Kodierungen bekannte Sicherheitsprobleme bestehen.
Zum Wechsel zu UTF-8 siehe [Reparieren des Zeichensatzes und der Sortierung der Zabbix-Datenbank](/manual/appendix/install/db_charset_coll).
Siehe auch [Grenzen der Filterung mit utf8mb4-Sortierungen](/manual/installation/known_issues#limits-of-filtering-with-utf8mb4-collations).

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

[comment]: # ({44d449fd-fad527fc})
::: noteclassic
Wenn Sie aus dem [Zabbix Git repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse) installieren, müssen Sie vor dem Fortfahren mit den nächsten Schritten den folgenden Befehl ausführen:
<br><br>
`make dbschema`
:::

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

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

Die Zeichensätze utf8 (auch bekannt als utf8mb3) und utf8mb4 werden unterstützt (mit den Kollationen utf8_bin bzw. utf8mb4_bin), damit Server/Proxy von Zabbix mit der MySQL-Datenbank ordnungsgemäß funktionieren.
Für neue Installationen wird empfohlen, utf8mb4 zu verwenden.

Deterministische Auslöser müssen während des Imports des Schemas erstellt werden.
Unter MySQL und MariaDB erfordert dies, dass `GLOBAL log_bin_trust_function_creators = 1` gesetzt ist, wenn das binäre Logging aktiviert ist und keine Superuser-Rechte vorhanden sind und `log_bin_trust_function_creators = 1` nicht in der MySQL-Konfigurationsdatei gesetzt ist.

Wenn Sie Zabbix aus [Paketen](https://www.zabbix.com/download) oder [Containern](/manual/installation/containers) installieren, beachten Sie die jeweiligen Anweisungen.

Wenn Sie Zabbix aus den Quellen installieren:

* Erstellen und konfigurieren Sie eine Datenbank und einen Benutzer.

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

* Importieren Sie die Daten in die Datenbank und setzen Sie den Zeichensatz utf8mb4 als Standard (vorausgesetzt, Sie befinden sich im Stammverzeichnis der Zabbix-Quellen).
Für eine Zabbix-Proxy-Datenbank sollte nur `schema.sql` importiert werden (kein images.sql und kein data.sql).

```bash
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# hier anhalten, wenn Sie die Datenbank für Zabbix-Proxy erstellen
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql
```

`log_bin_trust_function_creators` kann deaktiviert werden, nachdem das Schema erfolgreich importiert wurde:

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

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

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

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

Sie benötigen einen Datenbankbenutzer mit Berechtigungen zum Erstellen von Datenbankobjekten.

Wenn Sie Zabbix aus [Paketen](https://www.zabbix.com/download) oder [Containern](/manual/installation/containers) installieren, beachten Sie die jeweiligen Anweisungen.

Wenn Sie Zabbix aus den Quellen installieren:

* Erstellen Sie einen Datenbankbenutzer.

Der folgende Shell-Befehl erstellt den Benutzer `zabbix`.
Geben Sie auf Aufforderung ein Passwort ein und wiederholen Sie das Passwort (beachten Sie, dass Sie möglicherweise zuerst nach dem `sudo`-Passwort gefragt werden):

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

* Erstellen Sie eine Datenbank.

Der folgende Shell-Befehl erstellt die Datenbank `zabbix` (letzter Parameter) mit dem zuvor erstellten Benutzer als Besitzer (`-O zabbix`).

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

* Importieren Sie das anfängliche Schema und die Daten (vorausgesetzt, Sie befinden sich im Stammverzeichnis der Zabbix-Quellen).
Für eine Zabbix-Proxy-Datenbank sollte nur `schema.sql` importiert werden (weder `images.sql` noch `data.sql`).

```bash
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# hier anhalten, wenn Sie die Datenbank für Zabbix Proxy erstellen
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
```

::: noteimportant
Die obigen Befehle sind als Beispiel angegeben und funktionieren in den meisten GNU/Linux-Installationen.
Sie können je nach Konfiguration Ihres Systems bzw. Ihrer Datenbank andere Befehle verwenden, zum Beispiel:
<br><br>
`psql -U <username>`
<br><br>
Wenn Sie Probleme bei der Einrichtung der Datenbank haben, wenden Sie sich bitte an Ihren Datenbankadministrator.
:::

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

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

Anweisungen zum Erstellen und Konfigurieren von TimescaleDB finden Sie in einem separaten [Abschnitt](/manual/appendix/install/timescaledb).

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

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

Anweisungen zum Erstellen und Konfigurieren der Oracle-Datenbank finden Sie in einem separaten [Abschnitt](/manual/appendix/install/oracle).

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

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

Die Verwendung von SQLite wird nur für **Zabbix Proxy** unterstützt!

Die Datenbank wird automatisch erstellt, wenn sie nicht vorhanden ist.

Zurück zum [Installationsabschnitt](/manual/installation/install).

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