De database van je site luistert alleen op het loopback-adres van de server, zodat een desktoptool zoals TablePlus, Sequel Ace, DBeaver of MySQL Workbench er niet rechtstreeks mee kan verbinden. Een SSH-tunnel geeft die tools een lokale poort die wordt doorgestuurd naar de database, en zo krijg je een echte GUI op je gegevens zonder MySQL open te zetten voor het internet.
Waarom een Tunnel Nodig Is
Open Websites, klik op de site en dan op Database. De kaart Verbindingsgegevens toont de host als 127.0.0.1 en de poort als 3306. Dat is geen tijdelijke aanduiding: de database accepteert echt alleen verbindingen vanaf de machine waarop hij draait. Niets op het openbare internet kan poort 3306 bereiken, wat een hele categorie aanvallen uitsluit.
Een SSH-tunnel dicht dat gat op een veilige manier. Je SSH-client opent een poort op je laptop, versleutelt alles wat je ernaartoe stuurt, en geeft het door aan de database vanaf binnen de server, precies alsof een lokaal proces verbinding had gemaakt.

Wat Je Eerst Nodig Hebt
Een tunnel is een SSH-verbinding, dus je hebt een SSH-sleutel nodig die geregistreerd is bij de site voordat dit werkt. Volg eerst SSH-sleutels toevoegen aan een site en kom daarna hierop terug.
Verzamel vier zaken:
- SSH-host, poort en gebruikersnaam, via Instellingen, dan SSH-sleutels, in de kaart Verbindingsgegevens.
- Databasenaam, gebruikersnaam en wachtwoord, via Database. Klik op het oogicoon om het wachtwoord te tonen en op het kopieericoon om het naar je klembord te zetten.
Als op de Database-tab staat No database provisioned for this site type, dan heeft deze site geen database. Statische sites en sommige Node.js-sites worden aangemaakt zonder database.
De Tunnel Openen Vanuit een Terminal
Het algemene patroon is: stuur een lokale poort door naar 127.0.0.1:3306 aan de andere kant van de SSH-verbinding.
ssh -N -L 3307:127.0.0.1:3306 <ssh-username>@<ssh-host> -p <ssh-port>
-L 3307:127.0.0.1:3306opent poort 3307 op je machine en stuurt die door naar poort 3306 op de loopback-interface van de server.-Nbetekent: start geen shell, houd alleen de tunnel open.- Voeg
-i /path/to/keytoe als de sleutel voor deze site niet je standaardsleutel is.
Laat dat terminalvenster actief staan. Zolang het open is, is 127.0.0.1:3307 op je laptop de database van de site.
Gebruik lokaal 3307 in plaats van 3306. Als je zelf MySQL of MariaDB geïnstalleerd hebt op je eigen machine, gebruikt die al 3306, en zal de tunnel niet kunnen binden met een foutmelding "address already in use". Elke vrije lokale poort werkt.
Je Databaseclient Op de Tunnel Richten
Maak in je GUI-client een gewone MySQL-verbinding aan met deze waarden:
| Veld | Waarde |
|---|---|
| Host | 127.0.0.1 |
| Poort | 3307 (welke lokale poort je ook hebt doorgestuurd) |
| Gebruiker | De Gebruikersnaam van de Database-tab |
| Wachtwoord | Het Wachtwoord van de Database-tab |
| Database | De Databasenaam van de Database-tab |
Zet de SSH-host niet in het Host-veld. Voor de client lijkt het alsof hij praat met een database op je eigen machine.
Clients Met een Ingebouwde SSH-tab
TablePlus, Sequel Ace, DBeaver en MySQL Workbench kunnen de tunnel allemaal zelf beheren, wat je bespaart dat je een terminal open moet houden. Vul twee groepen velden in:
- SSH-sectie: host, poort, gebruikersnaam en privésleutelbestand van de pagina SSH-sleutels.
- Database-sectie: host
127.0.0.1, poort3306, plus de databasenaam, gebruiker en wachtwoord van de Database-tab.
Wanneer de client de tunnel opzet, gebruik je 3306 in de database-sectie in plaats van je lokale doorgestuurde poort. De client maakt verbinding vanuit het perspectief van de server, dus die ziet de echte poort.
phpMyAdmin Gebruiken In Plaats Daarvan
Als je alleen snel naar een tabel wilt kijken, heb je helemaal geen tunnel nodig. De Database-tab heeft een kaart phpMyAdmin met een knop phpMyAdmin openen. Je wordt ingelogd via KPanel, dus er is geen apart wachtwoord om te onthouden, en het opent in een nieuw tabblad dat al gericht is op de database van deze site.
phpMyAdmin is de snellere optie om te bladeren, een eenmalige query uit te voeren of een waarde te controleren. Een desktopclient via een tunnel is beter voor grote exports, schemawerk en alles wat je wilt scripten. Zie phpMyAdmin gebruiken voor de browseroptie.
Query's en Dumps Uitvoeren Via de Tunnel
Met de tunnel geopend werken de standaard commandoregeltools gewoon, gericht op je lokale doorgestuurde poort:
mysql -h 127.0.0.1 -P 3307 -u <db-user> -p <db-name>
mysqldump -h 127.0.0.1 -P 3307 -u <db-user> -p <db-name> > backup.sql
Een handmatige dump is een handig extra exemplaar, geen back-upstrategie. Hij is alleen zo actueel als het moment waarop je hem maakte, en staat op welke laptop je ook gebruikte om hem te maken. KapsuleHost maakt al automatisch dagelijkse back-ups van de site, die 30 dagen bewaard blijven. Zie Een back-up maken voordat je vertrouwt op een lokaal .sql-bestand.
Probleemoplossing
"Address already in use" bij het openen van de tunnel. Er draait al iets op je machine op die lokale poort. Kies een andere, bijvoorbeeld -L 3399:127.0.0.1:3306, en pas de poort in je client aan.
"Connection refused" vanuit de databaseclient. De tunnel staat niet open. Controleer of de SSH-terminal nog actief is en geen foutmelding heeft getoond, en of de poort in je client overeenkomt met de lokale poort in het -L-argument.
SSH maakt verbinding, maar de client loopt nog steeds vast op een time-out. Controleer of je hebt doorgestuurd naar 127.0.0.1:3306 en niet naar de publieke hostnaam. Doorsturen naar de publieke naam vraagt de server om de database via het internet te bereiken, en dat is precies wat geblokkeerd is.
"Access denied for user". De SSH-login is gelukt, maar de MySQL-inloggegevens kloppen niet. Kopieer de gebruikersnaam en het wachtwoord opnieuw van de Database-tab met de kopieericonen in plaats van ze over te typen, en controleer of je verbinding maakt met de juiste databasenaam.
Permission denied (publickey) nog voordat je bij MySQL komt. Dat is de SSH-laag, niet de database. Werk de probleemoplossingssectie door in SSH-sleutels toevoegen aan een site.
Waar Je Verder Kunt Kijken
- Bestanden uploaden met SFTP gebruikt dezelfde SSH-inloggegevens voor bestandsoverdracht.
- phpMyAdmin gebruiken voor databasewerk via de browser.
- Herstellen vanaf een back-up als een query verder is gegaan dan de bedoeling.