Directe toegang tot MySQL databases vanaf buiten de server is afgeschermd door ons. Dit omwille van beveiliging. MySQL-verkeer is standaard namelijk niet versleuteld. Daarnaast is databasetoegang vanaf buiten de server normaliter ook niet noodzakelijk omdat veel beheerstaken met PhpMyAdmin verzorgd kunnen worden.
Echter, als je met een lokale programmeertool direct je MySQL database wilt kunnen benaderen is het vervelend. Dat kun je oplossen door eerst een SSH-tunnel op te bouwen naar de server.
In dit document beschrijven we stap voor stap hoe je die tunnel kunt opbouwen vanaf een Windows machine.
Om de tunnel op te bouwen maken we gebruik van SSH. Naast de mogelijkheid om verkeer te tunnelen, zorgt SSH ook voor de versleuteling van het verkeer tussen je computer en de server.
In dit document maken we gebruik van Putty. Putty is te downloaden vanaf https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Na het downloaden van Putty start je deze op; je krijgt onderstaand scherm te zien:
Vul hier je hostname van de server of het IP-adres van de server in. De hostname hebt u van ons ontvangen in de opleverdocumentatie van de virtual private server.
Klik vervolgens aan de linkerzijde onder “Category” op “SSH”:
Vink de optie “Don’t start a shell or command at all” aan om te zorgen dat na het inloggen geen shell wordt opgestart.
Klik vervolgens op de “+” voor “SSH” zodat de aanvullende SSH-opties zichtbaar worden:
Ga naar de optie “Tunnels” en vul bij “Source port” 3306 in. Dat is de standaard poort van MytSQL op de server. Bij “Destination” vullen we “localhost:3306” in. Let hierbij op de dubbele punt tussen “localhost” en “3306”. Druk vervolgens op de knop “Add” om deze portmapping toe te voegen.
Ga nu weer terug aan de linkerzijde naar de optie “Session”.
Als u deze verbinding vaker wilt gebruiken dan kunt je bij “Saved Sessions” een naam geven en klikken op “Save” om deze te bewaren.
Door de klikken op “Open” zal de tunnel opgebouwd worden. Er wordt een venster geopend waarin gevraagd wordt naar de gebruikersnaam en het bijbehorend wachtwoord. Geef hier de SSH-gebruikersgegevens op (dus niet de MySQL gebruikersnaam en -wachtwoord).
Nadat deze zijn gecontroleerd door de server is de tunnel opgebouwd.
U kunt nu vanaf uw programmeer- of databasetool verbinden naar localhost op port 3306 om MySQL toegang te krijgen.