Websites
Verbindung zu Ihrer Datenbank herstellen (Remote-Zugriff)
Where to find your database credentials, why direct remote connections on port 3306 are refused, and how to connect a desktop tool through an SSH tunnel instead.
Wo Sie Ihre Datenbank-Anmeldedaten 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 ihre eigene Datenbank, ihren eigenen Datenbankbenutzer und Anmeldedaten, die Sie jederzeit einsehen können. Was Sie nicht tun können, ist eine direkte Verbindung über das Internet herzustellen, und das ist beabsichtigt. Diese Anleitung behandelt die Anmeldedaten, die zwei unterstützten Verbindungsmethoden und die Einrichtung des Tunnels, den Desktop-Datenbanktools benötigen.
Ihre Anmeldedaten finden
Gehen Sie zu Websites, klicken Sie auf die Website, dann Dateien, dann Datenbank.
Die Seite zeigt fünf Dinge:
| Feld | Wert |
|---|---|
| Host | 127.0.0.1 |
| Port | 3306 |
| Datenbank | Ihr Datenbankname |
| Benutzer | Ihr Datenbankbenutzer |
| Passwort | maskiert, mit einem Anzeige-Button und einem Kopier-Button |
Das Passwort wird nicht nur einmal angezeigt. Sie können jederzeit zurückkommen und es erneut einsehen, daher ist es nicht nötig, es separat zu speichern.
Der Datenbankserver ist MariaDB 10.11, das MySQL-kompatibel ist. Das ist in einer praktischen Hinsicht wichtig: Ein Dump, der von einem aktuellen MySQL-Server exportiert wurde, kann Sortierungen enthalten, die MariaDB nicht erkennt, und der Import schlägt mit einem Fehler "unknown collation" fehl. Falls das passiert, exportieren Sie erneut mit einer weit verbreiteten Sortierung wie utf8mb4_unicode_ci, oder suchen und ersetzen Sie sie in der Dump-Datei vor dem Import.

Warum der Host 127.0.0.1 ist
127.0.0.1 bedeutet "dieser Computer". Der Datenbankserver lauscht nur auf der eigenen internen Schnittstelle des Computers, und Port 3306 ist auch in der Firewall nicht für das Internet offen. Es gibt keine Einstellung im Panel, um ihn zu öffnen, und es gibt keine IP-Zulassungsliste dafür.
Das ist kein Versehen. Ein für das Internet offener Datenbankport ist einer der am zuverlässigsten ausgebeuteten Dinge beim Hosting: Er wird ständig gescannt, er gibt Versionsinformationen an jeden preis, der sich verbindet, und ein einziges schwaches Passwort kostet Sie die gesamte Website. Ihn geschlossen zu halten, beseitigt diese ganze Kategorie von Risiken.
Eine Verbindungszeichenkette mit der öffentlichen IP-Adresse Ihrer Website und Port 3306 schlägt also immer fehl, von überall, auf jedem Plan. Es gibt stattdessen zwei unterstützte Wege.
Option 1: phpMyAdmin im Browser
Am einfachsten für einen schnellen Blick, eine Bearbeitung oder einen kleinen Import oder Export.
Klicken Sie auf der Datenbankseite auf phpMyAdmin öffnen. Sie sind direkt mit den Anmeldedaten Ihrer Website angemeldet und sehen nur Ihre eigenen Datenbanken.
Der Link, der dies tut, ist absichtlich kurzlebig, und er schlägt auf Wegen fehl, die wie Fehler aussehen, aber nicht sind:
- Er läuft nach 60 Sekunden ab. Klicken Sie ihn an, sobald er erscheint.
- Er funktioniert einmal. Zurück zu gehen und neu zu laden funktioniert nicht; generieren Sie einen neuen.
- Er muss aus demselben Browser und demselben Netzwerk geöffnet werden, von dem aus Sie ihn angefordert haben. Wenn Sie den Link auf ein anderes Gerät kopieren oder sich Ihre Verbindung mittendrin ändert, wird er abgelehnt.
Wenn Sie "Dieser Link wurde bereits verwendet" oder eine Meldung über einen IP-Nichtabgleich sehen, funktioniert der Schutz. Gehen Sie zurück zur Datenbankseite und klicken Sie auf den Button erneut.
Für die Arbeit mit phpMyAdmin selbst siehe phpMyAdmin verwenden.
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 Ihrem eigenen Computer durch, sodass sich Ihr Client mit einer Datenbank verbindet, die wie eine lokale aussieht.
Was Sie zuerst brauchen
Einen SSH-Schlüssel auf der Website. Passwortauthentifizierung wird nicht akzeptiert, daher ist dieser Schritt nicht optional.
- Gehen Sie zu Websites, die Website, Dateien, dann SSH-Schlüssel.
- Fügen Sie entweder den öffentlichen Schlüssel ein, den Sie bereits verwenden, oder generieren Sie ein neues Schlüsselpaar vom Panel.
- Notieren Sie sich den Benutzernamen, der auf dieser Seite angezeigt wird. Es ist der Systembenutzer Ihrer Website, und das ist der Benutzer, als der Sie sich verbinden.
Wenn Sie einen Schlüssel im Panel generieren, wird der private Schlüssel einmal angezeigt und nie wieder. Speichern Sie ihn sofort, und bewahren Sie ihn an einem Ort auf, an dem nur Sie ihn lesen können.
Sie erhalten auch eine E-Mail, wenn ein Schlüssel zu Ihrer Website hinzugefügt wird. Das ist beabsichtigt. Wenn eine ankommt und Sie waren es nicht, widerrufen Sie sie sofort von dieser Seite und lesen Sie Falls Ihre Website gehackt wurde.
Siehe SSH-Schlüssel hinzufügen für die vollständige Anleitung.
Ein SFTP-Konto, das auf der SFTP-Registerkarte erstellt wurde, funktioniert nicht für einen Tunnel. Diese Konten sind nur für Dateiübertragung, ohne Shell und ohne Port-Weiterleitung. Tunneling erfordert den SSH-Benutzer der Website mit einem Schlüssel. Siehe SFTP-Zugriff.
Den Tunnel öffnen
Von einem Terminal auf Ihrem eigenen Computer:
ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com
Ersetzen Sie your-ssh-user mit dem Benutzernamen von der SSH-Schlüssel-Seite. Das aufgebrochen:
-Nbedeutet, keinen Befehl auszuführen, einfach den Tunnel offen zu halten.-L 3307:127.0.0.1:3306leitet Port 3307 auf Ihrem Computer zu Port 3306 auf dem Server.- Port 3307 wird verwendet statt 3306, sodass er nicht mit einer Datenbank kollidiert, die Sie möglicherweise lokal ausführen.
Der Befehl gibt nichts aus, wenn er funktioniert. Das ist korrekt. Lassen Sie das Terminal-Fenster offen, solange Sie die Verbindung benötigen, und drücken Sie Ctrl+C, um es zu schließen.
Ihren Client verbinden
Mit offenem Tunnel richten Sie Ihr Datenbankwerkzeug auf:
| Einstellung | Wert |
|---|---|
| Host | 127.0.0.1 |
| Port | 3307 |
| Benutzer | Der Datenbankbenutzer von der Datenbankseite |
| Passwort | Das Datenbankpasswort von der Datenbankseite |
| Datenbank | Ihr Datenbankname |
Beachten Sie die Aufteilung: Der SSH-Benutzer ist Ihr Systembenutzer der Website, und der Datenbank-Benutzer ist ein anderer von der Datenbankseite. Diese beiden zu verwechseln ist bei weitem der häufigste Fehler hier.
Die meisten Desktop-Clients haben auch eine eingebaute Option "über SSH-Tunnel verbinden", die genau das obige ohne ein separates Terminal tut. Füllen Sie den SSH-Host cp1-kapsule.kapsulehost.com, Port 22, Ihren SSH-Benutzernamen und Ihre private Schlüsseldatei aus, dann die Datenbankfelder wie oben.
Siehe Datenbank-SSH-Tunnel für client-spezifische Einrichtung.
Befehlszeile 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:
ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql
Das ist viel schneller als eine große Datenbank durch einen Tunnel zu ziehen, und es ist die richtige Weise, einen manuellen Dump vor einer riskanten Änderung zu erstellen. Speziell für WordPress ist WP-CLI normalerweise noch besser.
Fehlerbehebung
"Verbindung abgelehnt" auf Port 3306 von Ihrem eigenen Computer. Erwartet. Siehe oben. Verwenden Sie einen Tunnel.
Der Tunnel-Befehl fragt nach einem Passwort. Ihr Schlüssel wird nicht angeboten oder ist nicht installiert. Überprüfen Sie, dass der Schlüssel auf der SSH-Schlüssel-Seite ist, und fügen Sie -i /path/to/your/private/key zum Befehl hinzu.
"Berechtigung verweigert (publickey)". Falscher Benutzer, oder der falsche Schlüssel. Der Benutzer ist der auf der SSH-Schlüssel-Seite, nicht Ihre Kapsule-Login-E-Mail.
"Adresse wird bereits verwendet" für Port 3307. Ein Tunnel ist bereits offen, oder etwas anderes verwendet diesen Port. Schließen Sie den anderen, oder wählen Sie einen anderen lokalen Port wie 3308.
Der Tunnel öffnet, 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.
"Zugriff verweigert für Benutzer". Datenbankanmeldedaten, nicht SSH. Offenbaren und kopieren Sie sie erneut von der Datenbankseite.
"Unbekannte Sortierung" beim Import. Oben behandelt. Exportieren Sie erneut mit einer kompatiblen Sortierung.
Alles, was Sie in einem DatenbankClient tun, geschieht 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 Eine Sicherung erstellen.