Technisch · 4 min lezen

MySQL

MySQL is de meest gebruikte relationele database op het web. WordPress, Drupal en de meeste PHP-sites draaien erop. Het slaat content op in tabellen met rijen en kolommen die je applicatie op elk moment kan opvragen.

Inhoudsopgave
  1. Het indexkaarten-archief van het internet
  2. Wat er misgaat bij een slecht geconfigureerde MySQL
  3. Alternatieven: SQLite en Cloudflare D1
  4. Wat je zelf kunt doen
  5. Veelgestelde vragen

Je bezoekt een nieuws-website en klikt op een categorie. Binnen een seconde verschijnt een lijst met alle artikelen in die categorie. Die artikelen staan niet in een apart bestand voor elke categorie. Ze komen allemaal uit MySQL: een database die razendsnel de juiste rijen teruggeeft op basis van jouw zoekopdracht.

Het indexkaarten-archief van het internet

MySQL werkt als een enorm archief van indexkaarten. Elke tabel is een lade: de lade "posts" bevat alle blogposts, de lade "users" alle gebruikers. Elke kaart (rij) heeft vaste vakjes (kolommen): titel, auteur, datum, inhoud. Je kunt vragen stellen als: "geef me alle posts van auteur X, gesorteerd op datum, gepubliceerd na 2025". MySQL geeft in milliseconden antwoord.

MySQL bestaat al sinds 1995 en is de database achter WordPress , Drupal, Joomla en tientallen andere populaire CMS -systemen. Het wordt aangedreven door PHP : PHP stelt de vragen, MySQL levert de antwoorden.

De nieuwere variant is MariaDB, een fork van MySQL die snel is overgenomen door veel hosting -providers. Ze zijn grotendeels uitwisselbaar, maar MariaDB wordt actiever doorontwikkeld.

Wat er misgaat bij een slecht geconfigureerde MySQL

De meeste prestatieproblemen op WordPress-sites beginnen bij de database:

  • Trage queries. Een pagina vraagt bij elke laadbeurt tientallen gegevens op tegelijk. Zonder indexen doorzoekt MySQL elke rij. Op een grote site kost dat seconden.
  • Plugin-overhead. Elke plugin voegt rijen toe aan de database. Slecht onderhouden plugins laten revisies, logs en tijdelijke data staan die nooit worden opgeruimd.
  • Gedeelde [hosting](/begrippen/hosting). Op goedkope shared hosting deelt je database de capaciteit met andere sites. Bij piekmomenten verlies je direct snelheid.
  • SQL-injectie. Als een website de invoer van bezoekers niet goed controleert, kan een aanvaller kwaadaardige databaseopdrachten injecteren en data stelen of wissen.
  • Geen back-ups. Een database zonder automatische back-ups is één fout verwijderd van dataverlies.

Alternatieven: SQLite en Cloudflare D1

MySQL is niet de enige keuze. SQLite slaat de hele database op in één bestand. Dat maakt het ideaal voor kleinere sites en lokale ontwikkeling, maar minder geschikt voor drukke webshops met gelijktijdige schrijfacties.

Cloudflare D1 is SQLite in de cloud, geografisch dicht bij de bezoeker. EmDash CMS gebruikt D1 in plaats van MySQL. Het resultaat: geen gedeelde server, geen SQL-injectie-risico's via verouderde PHP-code, en laadtijden die consistent snel zijn ongeacht het bezoekersaantal.

Als je een website laat maken en je vraagt welke database wordt gebruikt, is het antwoord "MySQL" normaal bij WordPress-sites. "D1" of "PostgreSQL" duidt op een modernere stack.

Wat je zelf kunt doen

Je hoeft MySQL niet te begrijpen om ermee te werken, maar een paar basisprincipes helpen. Vraag je bouwer of webshop laten maken -partner:

  • Zijn er automatische database-back-ups?
  • Worden database-indexen bijgehouden?
  • Is caching ingesteld zodat dezelfde query niet honderd keer per minuut wordt uitgevoerd?

Voor WordPress-sites kun je de plugin WP-Optimize gebruiken om de database op te ruimen: revisies verwijderen, tijdelijke data wissen en tabellen optimaliseren.

Veelgestelde vragen

Wat is het verschil tussen MySQL en een spreadsheet?

Een spreadsheet is bedoeld voor mensen om in te lezen en te bewerken. Een database is bedoeld voor software om snel grote hoeveelheden data op te vragen en bij te werken. MySQL verwerkt duizenden verzoeken per seconde van bezoekers op je site, terwijl een spreadsheet vastloopt bij een paar duizend rijen.

Waarom gebruikt WordPress MySQL?

WordPress is gebouwd in de vroege jaren 2000, toen MySQL de standaard was voor open source webapplicaties. De keuze is sindsdien meegegaan: het hele WordPress-ecosysteem van plugins en thema's is ontworpen rondom MySQL.

Wat is SQL-injectie?

SQL-injectie is een aanvalstechniek waarbij een kwaadwillende extra databaseopdrachten invoegt in een formulier of URL. Als de website die invoer niet controleert, voert MySQL die opdrachten gewoon uit. Het resultaat kan zijn: alle wachtwoorden worden gestolen, data wordt gewist, of een aanvaller krijgt beheertoegang.

Hoe weet ik welke database mijn site gebruikt?

Als je site op WordPress draait, is het bijna zeker MySQL. Vraag je bouwer om bevestiging. In het configuratiebestand van WordPress (wp-config.php) staan de databasegegevens. Via phpMyAdmin in je hostingdashboard kun je direct in de database kijken.

Wat is het verschil tussen MySQL en PostgreSQL?

Beide zijn relationele databases, maar PostgreSQL is strenger in het naleven van SQL-standaarden en biedt meer geavanceerde functies. MySQL is historisch gezien sneller bij eenvoudige leesoperaties, PostgreSQL bij complexe queries. Voor de meeste WordPress-sites maakt het verschil niet uit.

Veelgestelde vragen

Wat is het verschil tussen MySQL en een spreadsheet?

Een spreadsheet is bedoeld voor mensen om in te lezen en te bewerken. Een database is bedoeld voor software om snel grote hoeveelheden data op te vragen en bij te werken. MySQL verwerkt duizenden verzoeken per seconde van bezoekers op je site.

Waarom gebruikt WordPress MySQL?

WordPress is gebouwd in de vroege jaren 2000, toen MySQL de standaard was voor open source webapplicaties. Het hele WordPress-ecosysteem van plugins en thema's is ontworpen rondom MySQL.

Wat is SQL-injectie?

SQL-injectie is een aanvalstechniek waarbij een kwaadwillende extra databaseopdrachten invoegt in een formulier of URL. Als de website die invoer niet controleert, voert MySQL die opdrachten gewoon uit. Het resultaat kan zijn: data wordt gestolen of gewist.

Hoe weet ik welke database mijn site gebruikt?

Als je site op WordPress draait, is het bijna zeker MySQL. Vraag je bouwer om bevestiging. In het configuratiebestand van WordPress (wp-config.php) staan de databasegegevens.

Wat is het verschil tussen MySQL en PostgreSQL?

Beide zijn relationele databases, maar PostgreSQL is strenger in het naleven van SQL-standaarden en biedt meer geavanceerde functies. Voor de meeste WordPress-sites maakt het verschil niet uit.

JL

Joey Laan

Oprichter van Laanify

Joey bouwt en onderhoudt websites en webshops voor ondernemers in heel Nederland. Vaste prijzen, korte lijnen en geen jargon.

Plan een kennismaking →

Klaar voor een website die klanten oplevert?

Vertel kort wat je nodig hebt. Je krijgt binnen 24 uur een eerlijk antwoord en een vaste prijs.