# Remote Verbindung zu Ihrer Datenbank herstellen

Source: https://support.kapsulehost.com/de-de/database-remote-access

Wo Sie Ihre Datenbank-Zugangsdaten finden, warum direkte Remote-Verbindungen über Port 3306 abgelehnt werden, und wie Sie stattdessen ein Desktop-Tool über einen SSH-Tunnel verbinden.

Jede KapsuleHost-Website mit einer Datenbank erhält eine eigene Datenbank, einen eigenen Datenbankbenutzer und Zugangsdaten, die Sie jederzeit einsehen können. Was Sie nicht können, ist eine direkte Verbindung über das Internet herzustellen, und das ist Absicht. Diese Anleitung behandelt die Zugangsdaten, die zwei unterstützten Zugangswege und wie Sie den Tunnel einrichten, den Desktop-Datenbank-Tools benötigen.

## Ihre Zugangsdaten finden

Gehen Sie zu **Websites**, klicken Sie auf die Website und dann auf **Datenbank**.

Die Seite zeigt fünf Dinge:

| Feld | Wert |
|---|---|
| Host | `127.0.0.1` |
| Port | `3306` |
| Datenbank | Ihr Datenbankname |
| Benutzername | Ihr Datenbankbenutzer |
| Passwort | maskiert, mit Anzeige- und Kopierschaltfläche |

Das Passwort ist keine einmalige Anzeige. Sie können jederzeit zurückkehren und es ablesen, wenn Sie es brauchen, daher besteht keine Notwendigkeit, es separat zu speichern.

Der Datenbankserver läuft mit MariaDB 10.11, was MySQL-kompatibel ist. Das ist in einer praktischen Hinsicht relevant: Ein Dump, der aus einer aktuellen MySQL-Version exportiert wurde, kann Kollationen enthalten, die MariaDB nicht erkennt, und der Import schlägt dann mit einem Fehler "unknown collation" fehl. Sollte das passieren, exportieren Sie erneut mit einer weithin kompatiblen Kollation wie `utf8mb4_unicode_ci`, oder suchen und ersetzen Sie sie vor dem Import in der Dump-Datei.

![Der Reiter Database für eine Website in KPanel, mit den Datenbankverbindungsdetails](https://support.kapsulehost.com/help/screenshots/database-remote-access.84df4ba6.webp)

## Warum der Host 127.0.0.1 lautet

`127.0.0.1` bedeutet "diese Maschine". Der Datenbankserver lauscht nur auf der eigenen internen Schnittstelle der Maschine, und Port 3306 ist an der Firewall auch nicht für das Internet geöffnet. Es gibt keine Einstellung im Panel, um ihn zu öffnen, und es gibt auch keine IP-Zulassungsliste dafür.

Das ist kein Versehen. Ein nach außen offener Datenbankport gehört zu den zuverlässigsten Angriffszielen im Hosting: Er wird ständig gescannt, verrät Versionsinformationen an jeden, der sich verbindet, und ein einziges schwaches Passwort kostet Sie die gesamte Website. Ihn geschlossen zu halten, eliminiert diese ganze Risikokategorie.

Eine Verbindungszeichenfolge, die die öffentliche IP-Adresse Ihrer Website und Port 3306 verwendet, wird daher immer fehlschlagen, von überall, bei jedem Tarif. Stattdessen gibt es zwei unterstützte Zugangswege.

## Option 1: phpMyAdmin im Browser

Am einfachsten für einen kurzen Blick, eine Bearbeitung oder einen kleinen Import oder Export.

Klicken Sie auf der Database-Seite auf **phpMyAdmin öffnen**. Sie werden direkt mit den Zugangsdaten Ihrer Website angemeldet und sehen nur Ihre eigenen Datenbanken.

Der Link dafür ist absichtlich kurzlebig, und er schlägt auf Weisen fehl, die wie Fehler aussehen, es aber nicht sind:

- **Er läuft nach 60 Sekunden ab.** Klicken Sie ihn an, sobald er erscheint.
- **Er funktioniert nur einmal.** Zurückgehen und neu laden funktioniert nicht; erzeugen Sie einen neuen.
- **Er muss aus demselben Browser und demselben Netzwerk** geöffnet werden, aus dem Sie ihn angefordert haben. Wenn Sie den Link auf ein anderes Gerät kopieren oder sich Ihre Verbindungsadresse zwischendurch ändert, wird er abgelehnt.

Wenn Sie "This link has already been used" oder eine Meldung über eine IP-Abweichung sehen, funktioniert der Schutz wie vorgesehen. Gehen Sie zurück zur Database-Seite und klicken Sie die Schaltfläche erneut.

Für die Arbeit mit phpMyAdmin selbst siehe [phpMyAdmin verwenden](https://support.kapsulehost.com/de-de/sites-phpmyadmin).

## Option 2: Ein SSH-Tunnel für Desktop-Tools

Wenn Sie einen Desktop-Client verwenden möchten, ist dies der unterstützte Weg. Der Tunnel öffnet eine verschlüsselte Verbindung zum Server und leitet einen Port auf Ihrer eigenen Maschine dadurch weiter, sodass sich Ihr Client mit etwas verbindet, das wie eine lokale Datenbank aussieht.

### Was Sie zuerst benötigen

Einen SSH-Schlüssel auf der Website. Passwort-Authentifizierung wird nicht akzeptiert, daher ist dieser Schritt nicht optional.

1. Gehen Sie zu **Websites**, der Website, **Einstellungen**, dann **SSH-Schlüssel**.
2. Fügen Sie entweder den öffentlichen Schlüssel ein, den Sie bereits verwenden, oder erzeugen Sie ein neues Schlüsselpaar über das Panel.
3. Notieren Sie sich den auf dieser Seite angezeigten Benutzernamen. Das ist der Systembenutzer Ihrer Website, und als dieser verbinden Sie sich.

Wenn Sie einen Schlüssel im Panel erzeugen, **wird der private Schlüssel einmal angezeigt und danach nie wieder**. Speichern Sie ihn sofort, und bewahren Sie ihn an einem Ort auf, den nur Sie lesen können.

Sie erhalten außerdem eine E-Mail, wann immer ein Schlüssel zu Ihrer Website hinzugefügt wird. Das ist beabsichtigt. Trifft eine solche E-Mail ein und waren Sie es nicht, widerrufen Sie den Schlüssel sofort auf dieser Seite und lesen Sie [Wenn Ihre Website gehackt wurde](https://support.kapsulehost.com/de-de/site-hacked-what-to-do).

Die vollständige Anleitung finden Sie unter [SSH-Schlüssel hinzufügen](https://support.kapsulehost.com/de-de/adding-ssh-keys).

> **Warning:** Ein auf dem Reiter SFTP erstelltes SFTP-Konto funktioniert nicht für einen Tunnel. Diese Konten dienen nur der Dateiübertragung, ohne Shell und ohne Portweiterleitung. Für das Tunneling ist der eigene SSH-Benutzer der Website mit einem Schlüssel erforderlich. Siehe [SFTP-Zugriff](https://support.kapsulehost.com/de-de/sftp-access).

### Den Tunnel öffnen

In einem Terminal auf Ihrer eigenen Maschine:

```sh
ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com
```

Ersetzen Sie `your-ssh-user` durch den Benutzernamen von der Seite SSH-Schlüssel. Aufgeschlüsselt bedeutet das:

- `-N` bedeutet, keinen Befehl auszuführen, sondern nur den Tunnel offen zu halten.
- `-L 3307:127.0.0.1:3306` leitet Port 3307 auf Ihrer Maschine an Port 3306 auf dem Server weiter.
- Port 3307 wird anstelle von 3306 verwendet, damit es nicht mit einer möglicherweise lokal laufenden Datenbank kollidiert.

Der Befehl gibt nichts aus, wenn er funktioniert. Das ist korrekt. Lassen Sie das Terminalfenster so lange geöffnet, wie Sie die Verbindung benötigen, und drücken Sie Strg+C, um sie zu schließen.

### Ihren Client verbinden

Bei geöffnetem Tunnel richten Sie Ihr Datenbank-Tool auf:

| Einstellung | Wert |
|---|---|
| Host | `127.0.0.1` |
| Port | `3307` |
| Benutzername | der Datenbank-Benutzername von der Database-Seite |
| Passwort | das Datenbank-Passwort von der Database-Seite |
| Datenbank | Ihr Datenbankname |

Beachten Sie die Aufteilung: Der **SSH**-Benutzername ist der Systembenutzer Ihrer Website, und der **Datenbank**-Benutzername ist ein anderer, von der Database-Seite. Diese beiden zu verwechseln ist bei weitem der häufigste Fehler hier.

Die meisten Desktop-Clients verfügen außerdem über eine eingebaute Option "über SSH-Tunnel verbinden", die genau das Obige ohne separates Terminal erledigt. Tragen Sie den SSH-Host `cp1-kapsule.kapsulehost.com`, Port 22, Ihren SSH-Benutzernamen und Ihre private Schlüsseldatei ein, und dann die Datenbankfelder wie oben.

Für die clientspezifische Einrichtung siehe [Datenbank-SSH-Tunnel](https://support.kapsulehost.com/de-de/database-ssh-tunnel).

## Kommandozeile auf dem Server

Wenn Sie sich in einem Terminal wohlfühlen, benötigen Sie überhaupt keinen Tunnel. Verbinden Sie sich über SSH und arbeiten Sie direkt auf dem Server:

```sh
ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql
```

Das ist deutlich schneller, als eine große Datenbank durch einen Tunnel zu ziehen, und es ist der richtige Weg, um vor einer riskanten Änderung einen manuellen Dump zu erstellen. Speziell für WordPress ist [WP-CLI](https://support.kapsulehost.com/de-de/wordpress-wp-cli) meist noch besser geeignet.

## Fehlerbehebung

**"Connection refused" auf Port 3306 von Ihrer eigenen Maschine.** Erwartet. Siehe oben. Verwenden Sie einen Tunnel.

**Der Tunnel-Befehl fragt nach einem Passwort.** Ihr Schlüssel wird nicht angeboten oder ist nicht installiert. Prüfen Sie, dass der Schlüssel auf der Seite SSH-Schlüssel vorhanden ist, und fügen Sie dem Befehl `-i /path/to/your/private/key` hinzu.

**"Permission denied (publickey)".** Falscher Benutzername oder falscher Schlüssel. Der Benutzername ist derjenige auf der Seite SSH-Schlüssel, nicht Ihre KapsuleHost-Login-E-Mail-Adresse.

**"Address already in use" für Port 3307.** Ein Tunnel ist bereits geöffnet, oder etwas anderes nutzt diesen Port. Schließen Sie den anderen, oder wählen Sie einen anderen lokalen Port wie 3308.

**Der Tunnel öffnet sich, aber der Client kann sich nicht verbinden.** Bestätigen Sie, dass Ihr Client auf `127.0.0.1` und Ihren gewählten lokalen Port zeigt, nicht auf Ihre Domain.

**"Access denied for user".** Datenbank-Zugangsdaten, nicht SSH. Zeigen und kopieren Sie sie erneut von der Database-Seite.

**"Unknown collation" beim Import.** Oben behandelt. Erneut exportieren mit einer kompatiblen Kollation.

> **Important:** Alles, was Sie in einem Datenbank-Client tun, passiert sofort und kann nicht rückgängig gemacht werden. Es gibt keinen Bestätigungsschritt und keinen Papierkorb. Erstellen Sie eine Sicherung, bevor Sie etwas ausführen, das schreibt. Siehe [Ein Backup erstellen](https://support.kapsulehost.com/de-de/taking-a-backup).

## Verwandte Anleitungen

- [phpMyAdmin verwenden](https://support.kapsulehost.com/de-de/sites-phpmyadmin)
- [Datenbank-SSH-Tunnel](https://support.kapsulehost.com/de-de/database-ssh-tunnel)
- [SSH-Schlüssel hinzufügen](https://support.kapsulehost.com/de-de/adding-ssh-keys)
- [SFTP-Zugriff](https://support.kapsulehost.com/de-de/sftp-access)
- [Ein Backup erstellen](https://support.kapsulehost.com/de-de/taking-a-backup)
- [Websites](https://support.kapsulehost.com/de-de/sites-overview)
- [Hosting-Glossar](https://support.kapsulehost.com/de-de/glossary)
