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

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

[comment]: # ({e35a4783-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 eigener 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)

Informationen zum Konfigurieren sicherer TLS-Verbindungen finden Sie unter [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 Sicherheitslücken funktioniert.
Benutzer sollten sich bewusst sein, dass bei Verwendung einiger anderer Kodierungen bekannte Sicherheitsprobleme bestehen.
Informationen zum Wechsel zu UTF-8 finden Sie unter [Reparieren von Zeichensatz und Sortierung der Zabbix-Datenbank](/manual/appendix/install/db_charset_coll).
Siehe auch [Einschränkungen beim Filtern mit utf8mb4-Sortierungen](/manual/installation/known_issues#limits-of-filtering-with-utf8mb4-collations).

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

[comment]: # ({94aa3a83-fad527fc})
::: noteclassic
Wenn Sie aus dem [Zabbix Git repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse?at=refs%2Fheads%2Frelease%2F7.4) installieren, müssen Sie vor dem Fortfahren mit den nächsten Schritten den folgenden Befehl ausführen:
<br><br>
`make dbschema`
:::

[comment]: # ({/94aa3a83-fad527fc})

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

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

Deterministische Auslöser müssen beim Import des Schemas erstellt werden.
Unter MySQL und MariaDB erfordert dies, dass `GLOBAL log_bin_trust_function_creators = 1` gesetzt wird, wenn die binäre Protokollierung aktiviert ist, keine Superuser-Berechtigungen vorhanden sind und `log_bin_trust_function_creators = 1` nicht in der MySQL-Konfigurationsdatei gesetzt ist.

Wenn Sie aus Zabbix-**Paketen** installieren, folgen Sie den [Anweisungen](https://www.zabbix.com/download) für Ihre Plattform.

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 utf8mb4 als Standardzeichensatz (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/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# hier stoppen, wenn Sie eine Datenbank für den 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]: # ({/ed6803ae-1e36e539})

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

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

Wenn Sie die Installation aus Zabbix-**Paketen** durchführen, folgen Sie den [Anweisungen](https://www.zabbix.com/download) für Ihre Plattform.

Wenn Sie Zabbix aus den Quellen installieren:

* Erstellen Sie einen Datenbankbenutzer.

Der folgende Shell-Befehl erstellt den Benutzer `zabbix`.
Geben Sie bei Aufforderung ein Passwort an 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), wobei der zuvor erstellte Benutzer als Eigentümer verwendet wird (`-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 stoppen, wenn Sie eine Datenbank für den Zabbix-Proxy erstellen
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
```

::: noteimportant
Die obigen Befehle dienen als Beispiel und funktionieren in den meisten GNU/Linux-Installationen.
Je nachdem, wie Ihr System/Ihre Datenbank konfiguriert ist, können Sie auch andere Befehle verwenden, zum Beispiel:
<br><br>
`psql -U <username>`
<br><br>
Falls Sie Probleme beim Einrichten der Datenbank haben, wenden Sie sich bitte an Ihren Datenbankadministrator.
:::

[comment]: # ({/dbad5843-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]: # ({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})
