Inloggen
Inloggen

Hoe MySQL installeren op Debian

Hoe MySQL installeren op Debian
Minhal Abbas
Technisch schrijver
MySQL-dienst Debian-systeem
16.07.2025
Reading time: 8 min

Het installeren van MySQL op Debian biedt een robuuste en flexibele database-infrastructuur die geschikt is voor een breed scala aan toepassingen en diensten. MySQL staat bekend om zijn schaalbaarheid, betrouwbaarheid en stabiliteit. Een correcte configuratie zorgt voor efficiënte werking en betere prestaties van het databasesysteem.

Deze combinatie is bijzonder waardevol voor systeembeheerders, database-analisten en bedrijven die een betrouwbare oplossing zoeken voor het beheren van grote hoeveelheden gegevens. Bovendien maken de uitgebreide documentatie en community van MySQL het eenvoudiger om problemen op te lossen en de werking te optimaliseren.

In deze handleiding laten we stap voor stap zien hoe je MySQL op Debian installeert en configureert.

Hoe MySQL installeren op Debian

Los repositorios predeterminados no contienen el paquete del servidor de bases de datos MySQL en Debian. Para instalarlo en un sistema Linux, siga las instrucciones que se indican a continuación. Descargaremos la versión más reciente de MySQL.

Stap 1: Download het MySQL-pakket

Download het repository-configuratiebestand van MySQL in .deb-indeling:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb

Image11

Let op: Controleer op de officiële MySQL-website of dit de meest recente versie is.

Stap 2: Installeer het configuratiepakket van MySQL

Gebruik het .deb-bestand om de installatie te initialiseren via dpkg:

sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb

Image13

Beantwoord de vragen in de configuratie-interface. Selecteer bijvoorbeeld "MySQL Server & Cluster" en druk op Enter.

Image12

Om een specifieke versie te kiezen (zoals mysql-8.4-lts), scroll omlaag in de lijst, selecteer de gewenste versie en bevestig met OK.

Image15

Stap 3: Update het systeem

Werk de pakketindex bij om de nieuwe MySQL-informatie te verwerken:

sudo apt update

Image14

Stap 4: Installeer MySQL

Debian maakt het installeren van MySQL eenvoudig via het standaardpakketbeheersysteem. Gebruik het volgende commando:

sudo apt install mysql-server -y

Image17

Tijdens de installatie wordt je gevraagd een root-wachtwoord in te stellen. Kies een sterk wachtwoord en bevestig.

Image16

Controleer of de installatie gelukt is met:

mysql --version

Image21

Stap 5: Beheer de MySQL-dienst

Stel MySQL zo in dat het automatisch start bij het opstarten van de server:

sudo systemctl enable mysql

Start vervolgens de MySQL-dienst handmatig:

sudo systemctl start mysql

Controleer de status van de dienst:

sudo systemctl status mysql

Image22

Voordat je poort 3306 opent voor externe clients, raden we aan om onze handleiding Een SSH-tunnel maken voor MySQL te bekijken. Hiermee kun je verbindingen via SSH tunellen en voorkom je dat MySQL direct via het internet toegankelijk is.

Stap 6: Beveilig de MySQL-installatie

Het root-wachtwoord dat je tijdens de installatie hebt ingesteld, beschermt het hoofdgebruikersaccount van MySQL. Maar MySQL wordt standaard geïnstalleerd met enkele onveilige instellingen, zoals anonieme gebruikers en de mogelijkheid tot root-toegang op afstand.

Om de installatie beter te beveiligen, gebruik je het volgende script:

sudo mysql_secure_installation

Image24

Je wordt gevraagd of je het onderdeel VALIDATE PASSWORD wilt inschakelen om sterke wachtwoorden af te dwingen. Typ Y en druk op Enter als je dat wilt.

Daarna moet je enkele beveiligingsopties instellen:

  1. Stel een root-wachtwoord in: Kies een sterk wachtwoord en voer het opnieuw in ter bevestiging. Selecteer indien gewenst het gewenste beveiligingsniveau (bijv. niveau 2 voor alleen sterke wachtwoorden).

     

  2. Verwijder anonieme gebruikers: Typ Y en druk op Enter om deze accounts te verwijderen.

     

  3. Schakel root-toegang vanaf externe hosts uit: Typ Y om deze optie te blokkeren en zo aanvallen van buitenaf te beperken.

     

  4. Verwijder de testdatabase: Typ Y om deze onnodige standaarddatabase te verwijderen.

  5. Laad de rechten opnieuw in: Druk op Enter om alle wijzigingen direct toe te passen.

Image27

Stap 7: Toegang tot MySQL

Gebruik de MySQL-clienttool om verbinding te maken met de database en toegang te krijgen tot de MySQL-console.

Voer het root-wachtwoord in dat je tijdens de installatie hebt ingesteld. Je komt dan terecht in de MySQL-shell, waar je algemene opdrachten kunt uitvoeren op de database.

sudo mysql -u root -p

Image29

Stap 8: Basisbewerkingen in MySQL

Het is een goede praktijk om voor jouw applicaties een aparte database en gebruiker aan te maken in plaats van de rootgebruiker te gebruiken. Volg de onderstaande instructies:

  1. Maak een database aan:

Maak eerst een database aan. In dit voorbeeld gebruiken we hostmandb:

CREATE DATABASE hostmandb;

Image31

  1. Toon alle databases:

Bekijk de lijst met databases om te bevestigen dat hostmandb is aangemaakt:

SHOW DATABASES;

Image33

  1. Maak een nieuwe gebruiker aan:

Creëer een nieuwe gebruiker met een sterk wachtwoord. In dit voorbeeld maken we gebruiker minhal met het wachtwoord Qwer@1234. Vervang deze waarden door je eigen gegevens:

CREATE USER 'minhal'@'localhost' IDENTIFIED BY 'Qwer@1234';

Image34

  1. Ken rechten toe aan de gebruiker:

Verleen de gebruiker volledige toegang tot de hostmandb database:

GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';

Image35

  1. Activeer de nieuwe rechten:

Voer dit commando uit om de wijzigingen toe te passen:

FLUSH PRIVILEGES;

Image36

  1. Verlaat de MySQL-shell:

Gebruik het volgende commando om af te sluiten:

EXIT;

Image37

  1. Test toegang als nieuwe gebruiker:

Log in bij MySQL als de gebruiker minhal om de toegang te testen:

sudo mysql -u minhal -p

Voer het wachtwoord van minhal in wanneer daarom wordt gevraagd.

Image1

Controleer vervolgens of de database toegankelijk is:

SHOW DATABASES;

Stap 9: Configureer externe toegang

Als je MySQL op afstand wilt benaderen vanaf een andere server of client, moet je de server configureren om externe verbindingen toe te staan. Volg deze stappen:

  1. Open het configuratiebestand van MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Image3

  1. Zoek de regel met bind-address en wijzig deze:
bind-address = 0.0.0.0

Image4

  1. Herstart de MySQL-dienst om de wijziging toe te passen:
sudo systemctl restart mysql

Image5

  1. Geef toegang aan de externe gebruiker:
sudo mysql -u root -p
GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Image6

Stap 10: Configureer de firewall

Als er een firewall actief is op je server, moet je poort 3306 openen om MySQL-verkeer toe te staan. Volg de onderstaande stappen:

  1. Sta verkeer via MySQL toe:
sudo ufw allow mysql

Image7

  1. Activeer de firewall (indien nog niet actief):
sudo ufw enable

Image8

  1. Laad de firewall opnieuw in om wijzigingen toe te passen:
sudo ufw reload

Image9

Stap 11: Back-up en herstel

Regelmatige back-ups zijn essentieel om gegevensverlies te voorkomen. MySQL biedt de mysqldump-tool voor het maken van back-ups.

  • Back-up van één enkele database maken:

Gebruik het volgende commando om een back-up te maken van de hostmandb database als een .sql-bestand:

sudo mysqldump -u root -p hostmandb> hostmandb_backup.sql

Image10

  • Back-up van alle databases maken:

Om een back-up te maken van alle databases op de server:

sudo mysqldump -u root -p --all-databases > all_databases_backup.sql

Image18

  • Een specifieke database herstellen:

Gebruik het volgende commando om de back-up van hostmandb te herstellen:

sudo mysql -u root -p hostmandb < hostmandb_backup.sql

Image20

Stap 12: Optimaliseer MySQL (optioneel)

Afhankelijk van de werklast en beschikbare serverbronnen kun je instellingen aanpassen om de prestaties van MySQL te optimaliseren. De volgende stappen helpen je om MySQL efficiënter te laten draaien:

  • Pas de grootte van de InnoDB Buffer Pool aan:

De InnoDB buffer pool slaat gegevens en indexen in het geheugen op. Het vergroten van deze buffer kan de prestaties verbeteren. Open het MySQL-configuratiebestand:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Voeg de volgende regel toe of pas deze aan:

innodb_buffer_pool_size = 1G

Image23

Pas de waarde aan op basis van het beschikbare RAM-geheugen op je server.

  • Schakel query caching in:

De query cache slaat resultaten van SELECT-query's op. Het inschakelen ervan kan de prestaties verbeteren bij herhaald gebruik van dezelfde query's. Bewerk het .cnf-configuratiebestand:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Voeg de volgende regels toe of bewerk ze indien nodig:

query_cache_type = 1
query_cache_size = 64M

Image25

  • Optimaliseer database-tabellen:

Optimaliseer regelmatig je tabellen (zoals de customers-tabel in hostmandb) om verspilde ruimte terug te winnen:

USE hostmandb;
OPTIMIZE TABLE customers;

Image28

  • Analyseer de prestaties:

Gebruik tools zoals MySQL Workbench of mysqltuner om inzicht te krijgen in de werking van je database en suggesties te krijgen voor optimalisatie. Installeer mysqltuner met:

sudo apt install mysqltuner

Image30

Voer mysqltuner uit om aanbevelingen te bekijken:

sudo mysqltuner

Image32

Conclusie

Het opzetten van een MySQL-omgeving is essentieel in de hedendaagse digitale wereld. Door deze gids te volgen kun je MySQL veilig installeren, configureren en gebruiken. Deze aanpak verhoogt niet alleen de beveiliging, maar verbetert ook de efficiëntie van onderhoud op afstand. Het helpt om inbreuken te voorkomen en de vertrouwelijkheid van je gegevens te waarborgen.

In dit artikel heb je een gedetailleerde handleiding gekregen voor de installatie van MySQL op Debian. We raden aan om je MySQL-server regelmatig te monitoren en te optimaliseren om maximale prestaties en betrouwbaarheid te garanderen.

Bovendien biedt Hostman vooraf geconfigureerde en gebruiksklare cloud-databases aan, waaronder cloud MySQL.

MySQL-dienst Debian-systeem
16.07.2025
Reading time: 8 min

Vergelijkbaar

MySQL-dienst

Hoe het MySQL root-wachtwoord te resetten: stapsgewijze handleiding

Toegang tot databases is een kerntaak voor serverbeheer en het onderhoud van webapplicaties. MySQL is een van de meest gebruikte en krachtige databasebeheersystemen (DBMS). Als databasebeheerder beheer je bedrijfskritische informatie, en het MySQL root-wachtwoord speelt een cruciale rol bij het waarborgen van de beveiliging en integriteit van deze gegevens. Het kan voorkomen dat je het MySQL root-wachtwoord verliest of vergeet. Dit kan om verschillende redenen gebeuren, van onvoorziene omstandigheden tot teamwisselingen of eenvoudige menselijke fouten. In zulke gevallen is het essentieel om te weten hoe je het root-wachtwoord reset en opnieuw toegang krijgt tot de database. In dit artikel presenteren we methoden en tools om je te helpen het MySQL root-wachtwoord te resetten en de volledige controle over je database te herstellen. We behandelen verschillende benaderingen, van het gebruik van officiële MySQL-tools zoals mysqladmin en mysqld_safe tot het bewerken van configuratiebestanden en het doorvoeren van systeemwijzigingen. We bespreken ook belangrijke voorzorgsmaatregelen om je database te beveiligen en te voorkomen dat het root-wachtwoord in de toekomst verloren gaat. Deze omvatten het gebruik van sterke wachtwoorden, het beperken van database­toegang tot alleen noodzakelijke gebruikers en het regelmatig maken van back-ups om risico’s te minimaliseren. Als je dus het MySQL root-wachtwoord moet resetten, vind je hieronder gedetailleerde instructies en aanbevelingen om opnieuw toegang te krijgen en het beheer van je MySQL-database te hervatten. Methoden voor het resetten van het MySQL-wachtwoord MySQL gebruikt geen PAM en het SSH-wachtwoord werkt niet. Het root-wachtwoord wordt ingesteld tijdens de installatie van de databaseserver in de fase waarin de privilegetabellen worden aangemaakt. Als je na een inlogpoging in plaats van een begroeting de foutmelding ERROR 1045: Access denied for user 'root'@'localhost' ontvangt, moet je het root-wachtwoord resetten. Om het root-wachtwoord in MySQL 8 te resetten, moet je een eenvoudige procedure volgen. Deze methode is even geschikt voor MySQL en MariaDB, aangezien ze volledig compatibel zijn en dezelfde commando’s gebruiken. In Ubuntu kun je het MySQL root-wachtwoord resetten met dezelfde methoden als in Debian. Voor CentOS 7 kan er een klein verschil zijn, dat we in de betreffende sectie hieronder zullen vermelden. Als je ook gebruikersaccounts opschoont, bekijk dan How to Properly Delete a MySQL User. Dit artikel behandelt het controleren en intrekken van rechten en het gebruik van het DROP USER-commando, waarmee je onnodige toegang kunt verwijderen zodra de root-rechten zijn hersteld. Hoe het MySQL root-wachtwoord te resetten met skip-grant-tables Dit is een vrij gebruikelijke methode vanwege de eenvoud. Hieronder volgt een stapsgewijs plan voor deze handeling: Stap 1: databaseservice stoppen service mysqld stop Stap 2: service starten zonder privilegetabellen mysqld --skip-grant-tables& Het ampersand aan het einde maakt het mogelijk om de service op de achtergrond te draaien, zodat deze geen apart terminalvenster bezet. Stap 3: verbinding maken met de server Aangezien de privilegetabellen niet zijn geladen, is het niet nodig om een wachtwoord in te voeren: mysql -u root Stap 4: privilegetabellen laden Elke opdracht aan de database moet eindigen met een puntkomma. Als de query niet is voltooid, wacht MySQL op de voortzetting van de opdracht. Je kunt eenvoudig een puntkomma toevoegen als deze in de nieuwe regel is vergeten. FLUSH PRIVILEGES; De respons zou moeten zijn: Query OK, 0 rows affected. Stap 5: een nieuw root-wachtwoord instellen Om een nieuw root-wachtwoord in MySQL in te stellen, gebruik je in Ubuntu en Debian: ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD'; Als deze query niet werkt, probeer dan: UPDATE `mysql`.`user` SET `password`=password('PASSWORD') WHERE `user`='root'; Of: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('PASSWORD'); Op CentOS 7 kun je het MySQL root-wachtwoord resetten met het commando: UPDATE `mysql`.`user` SET `authentication_string`=password('PASSWORD') WHERE `user`='root'; Bij succesvolle uitvoering zie je de respons: Query OK, 0 rows affected. Het wachtwoord kan zelfs een lege waarde hebben, maar in dat geval verlies je de mogelijkheid om op een andere manier dan via de opdrachtregel verbinding te maken met de server. De wachtwoordwijziging gaat onmiddellijk in na het uitvoeren van het commando. Je kunt dit bijvoorbeeld controleren door verbinding te maken via phpMyAdmin als er geen lege waarde is ingesteld. Stap 6: MySQL verlaten quit; De respons zou Bye moeten zijn en je keert terug naar de normale terminal. Stap 7: databaseserver in normale modus starten service mysqld start Hoe het MySQL root-wachtwoord te resetten op Windows Het resetten van het MySQL-superuserwachtwoord op Windows is vergelijkbaar met de procedure voor het resetten van het root-wachtwoord op Linux-systemen. De verschillen zitten voornamelijk in het proces van het vinden en starten van de databaseservice zelf. Hieronder vind je een stapsgewijze handleiding voor het resetten van het superuserwachtwoord van de database op Windows. Stap 1: opdrachtprompt openen als administrator Er is een verschil afhankelijk van welke database is geïnstalleerd. Om dit te controleren, voer je uit: Voor MySQL: sc qc "mysql" Voor MariaDB: sc qc "mariadb" Als de database niet is geïnstalleerd, zie je een melding dat de service niet bestaat. Anders zie je basisinformatie over MySQL of MariaDB. Stap 2: navigeren naar het uitvoerbare bestand van de databaseservice Als de variabele %PATH% niet is ingesteld, ga dan naar de map met het uitvoerbare bestand van de databaseservice. Je kunt het pad vinden in de uitvoer van het sc qc-commando onder "BINARY_PATH_NAME". In ons geval is dit C:\localhost\mariadb\bin\. cd C:\localhost\mariadb\bin\ Stap 3: de actieve service stoppen Voor MySQL: net stop mysql Voor MariaDB: net stop mariadb Stap 4: een nieuw opdrachtpromptvenster openen Gebruik het start-commando. In tegenstelling tot Linux werkt het ampersand aan het einde van het commando niet in Windows, en wanneer de service start, worden er geen verdere commando’s toegestaan totdat de sessie wordt beëindigd (CTRL+C). Stap 5: de server starten zonder privileges Je kunt hetzelfde commando gebruiken voor MySQL en MariaDB. mysqld --skip-grant-tables Stap 6: in het tweede venster invoeren: mysql -u root -p Voer het lege wachtwoord in en je ziet de standaardbegroeting. Nu moet je commando’s invoeren voor de databaseserver. Stap 7: het initiële commando uitvoeren FLUSH PRIVILEGES; Zonder dit initiële commando kun je bij het wijzigen van het wachtwoord een foutmelding krijgen: "ERROR 1290: The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement." Stap 8: het commando uitvoeren om het wachtwoord te wijzigen ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD'; Opmerking: als het commando niet werkt, probeer dan de opties uit Stap 5 van de instructies voor Linux-systemen. Sluit het opdrachtpromptvenster met de tijdelijke databaseversie die draait of druk op CTRL+C. Stap 9: de systeemservice starten Voor MySQL: net start mysql Voor MariaDB: net start mariadb Conclusie Het resetten van het MySQL root-wachtwoord is een belangrijke vaardigheid voor databasebeheerders. In dit artikel hebben we verschillende methoden en tools besproken om het root-wachtwoord te resetten en de volledige controle over je beheerde MySQL-database terug te krijgen. Ter afsluiting volgen hier enkele belangrijke punten met betrekking tot databasebeveiliging: Gebruik complexe wachtwoorden die letters, cijfers en speciale tekens combineren en wijzig ze regelmatig. Beperk database­toegang tot alleen essentiële gebruikers om het risico op ongeautoriseerde toegang te minimaliseren. Werk het MySQL-systeem regelmatig bij om bekende kwetsbaarheden te verhelpen en de nieuwste beveiligingspatches te ontvangen. Maak regelmatig back-ups van de database. Dit is je verzekering in geval van gegevensverlies of systeemstoringen. Ontwikkel een back-upstrategie, bepaal de frequentie en methoden voor het maken van back-ups en controleer de herstelbaarheid om gegevensherstel te garanderen. Vergeet niet hoe belangrijk training en voortdurende ontwikkeling zijn in databasebeheer. Blijf op de hoogte van de nieuwste trends, nieuwe functies en MySQL-tools. Gebruik educatieve bronnen, woon seminars en conferenties bij en communiceer met ervaren professionals in dit vakgebied. Door je kennis en vaardigheden voortdurend bij te werken, kun je de database effectief beheren en opkomende problemen oplossen. Het resetten van het MySQL root-wachtwoord is een kritieke taak die aandacht en kennis vereist. Met de bestudeerde methoden en aanbevelingen kun je deze taak echter uitvoeren en de volledige controle over je MySQL-database terugkrijgen. Zorg voor beveiliging, maak back-ups en blijf leren, en je werk met MySQL zal succesvol en veilig zijn.
29 January 2026 · 8 min to read
MySQL-dienst

MySQL-datatypen: overzicht, gebruiksvoorbeelden en best practices

Bij het opzetten van een database in MySQL moet de gebruiker aan elke kolom in een tabel een naam en een datatype toewijzen. Dit proces helpt het systeem precies te begrijpen welk type gegevens wordt opgeslagen en hoe deze moeten worden verwerkt, en bepaalt daarnaast hoeveel geheugen nodig is. Er zijn verschillende hoofdklassen van datatypen in MySQL-tabellen, waaronder numerieke, teken-, datum- en tijdtypen, en andere. Elke klasse bevat meerdere specifieke datatypen. Het is belangrijk om deze correct te definiëren tijdens de initiële fase van het aanmaken van tabellen om problemen te voorkomen zodra de volledige databasestructuur is opgebouwd. Dit artikel beschrijft de belangrijkste MySQL-datatypen, hun structuur, geldige waarden en aanbevolen gebruik. Numerieke typen MySQL ondersteunt alle standaard numerieke SQL-datatypen die worden gebruikt om getallen op te slaan. Dit artikel behandelt: Gehele getallen Kommagetallen (floating point) Vaste-kommagetallen (fixed point) Elk type wordt hieronder verder toegelicht. Gehele getallen (Integers) Gehele getaltypen worden gebruikt om gesigneerde of ongesigneerde gehele getallen op te slaan. Gesigneerde typen kunnen zowel positieve als negatieve waarden bevatten, terwijl ongesigneerde typen alleen positieve waarden opslaan, waardoor het bereik effectief wordt verdubbeld. Er zijn vijf hoofdtypen gehele getallen: TINYINT, SMALLINT, MEDIUMINT, INT en BIGINT. Het belangrijkste verschil is het waardenbereik dat ze kunnen opslaan — hoe groter het bereik, hoe meer geheugen nodig is. Het is belangrijk om het juiste type te kiezen voor efficiënt geheugengebruik. Type Geheugen (bytes) Gesigneerd bereik Ongesigneerd bereik TINYINT 1 −2⁷ tot 2⁷−1 0 tot 2⁸−1 SMALLINT 2 −2¹⁵ tot 2¹⁵−1 0 tot 2¹⁶−1 MEDIUMINT 3 −2²³ tot 2²³−1 0 tot 2²⁴−1 INT 4 −2³¹ tot 2³¹−1 0 tot 2³²−1 BIGINT 8 −2⁶³ tot 2⁶³−1 0 tot 2⁶⁴−1 Het specificeren van een lengte (bijv. MEDIUMINT(6)) heeft geen invloed op het waardenbereik. Het is puur cosmetisch en wordt door sommige tools gebruikt om kortere getallen met spaties op te vullen.Met het attribuut ZEROFILL worden in plaats daarvan nullen gebruikt. Bijvoorbeeld:SMALLINT(8) ZEROFILL toont 256 als 00000256. Kommagetallen (Floating-point numbers) Deze typen worden gebruikt om benaderende numerieke waarden op te slaan. MySQL laat toe om de precisie als volgt te definiëren: FLOAT(p) Waarbij p de precisie is van 0 tot 53. Als p < 25, wordt FLOAT (enkele precisie) gebruikt. Anders wordt DOUBLE (dubbele precisie) gebruikt. Type Geheugen (bytes) Waardenbereik FLOAT 4 ~±3,4028 × 10³⁸ DOUBLE 8 ~±1,7976 × 10³⁸ Vaste-kommagetallen (Fixed-point numbers) Vaste-kommagetallen worden gebruikt om exacte waarden met een gespecificeerde precisie op te slaan. Hiervoor worden DECIMAL of NUMERIC gebruikt, meestal bij financiële berekeningen waar afronding niet acceptabel is. Definitie: DECIMAL(M, D) M: totaal aantal cijfers (max. 65, standaard 10) D: aantal cijfers na de komma (0–30, standaard 0) Voorbeeld: DECIMAL(6, 3) Slaat waarden op van -999.999 tot 999.999.DECIMAL en NUMERIC zijn functioneel gelijk. Tekentypen (Character types) Voor het opslaan van korte teksten gebruikt MySQL voornamelijk CHAR en VARCHAR. Ze lijken op elkaar, maar verschillen in opslagwijze. CHAR slaat een tekenreeks met vaste lengte op (0 tot 2⁸−1 tekens), gedefinieerd bij het aanmaken van de tabel. Kortere invoer wordt opgevuld met spaties. VARCHAR slaat een tekenreeks met variabele lengte op (0 tot 2¹⁶−1 tekens). Alleen de daadwerkelijke tekens worden opgeslagen, plus 1 byte om de lengte vast te leggen. Als een tekenreeks langer is dan toegestaan voor CHAR of VARCHAR, wordt deze afgekapt. Als CHAR en VARCHAR in één tabel worden gecombineerd, converteert MySQL CHAR automatisch naar VARCHAR. Vergelijking van CHAR(5) en VARCHAR(5) String CHAR(5) VARCHAR(5) 'A' 'A ' 'A' 'Hello' 'Hello' 'Hello' 'Example' 'Examp' 'Examp' Tekst- en binaire typen Het datatype TEXT wordt gebruikt voor grote tekstgegevens, terwijl BLOB bedoeld is voor binaire gegevens zoals afbeeldingen, gecompileerde code of audio. Belangrijkste verschillen: BLOB: sortering en vergelijkingen zijn hoofdlettergevoelig TEXT: sortering en vergelijkingen zijn niet hoofdlettergevoelig MySQL kan TEXT- en BLOB-velden niet volledig indexeren en ondersteunt geen sortering via volledige veldindexen.Als de invoer groter is dan toegestaan, wordt deze afgekapt. TEXT-typen Type Geheugen (bytes) Max. tekens TINYTEXT 2⁸−1 tot 2⁸−1 TEXT 2¹⁶−1 tot 2¹⁶−1 MEDIUMTEXT 2²⁴−1 tot 2²⁴−1 LONGTEXT 2³²−1 tot 2³²−1 BLOB-typen Type Geheugen (bytes) Max. bytes TINYBLOB 2⁸−1 tot 2⁸−1 BLOB 2¹⁶−1 tot 2¹⁶−1 MEDIUMBLOB 2²⁴−1 tot 2²⁴−1 LONGBLOB 2³²−1 tot 2³²−1 Datum en tijd MySQL biedt verschillende datatypen voor datum- en tijdinformatie: Type Geheugen (bytes) Beschrijving DATE 3 Alleen datum in formaat YYYY-MM-DD DATETIME 8 Datum en tijd in YYYY-MM-DD HH:MM:SS TIMESTAMP 4 Zoals DATETIME, maar kleiner bereik (1970–2038) TIME 3 Tijd van −838:59:59 tot 838:59:59 YEAR 1 Jaar in YYYY-formaat JSON MySQL ondersteunt sinds versie 5.7.8 een native JSON-datatype met de volgende voordelen: Automatische validatie van geldige JSON Geoptimaliseerde binaire opslag voor snellere queries Het geheugengebruik is vergelijkbaar met LONGTEXT. Samengestelde typen (Composite types) MySQL biedt speciale tekentypen met vooraf gedefinieerde waarden: ENUM: slaat één waarde op uit een lijst (tot 2 bytes) SET: kan meerdere waarden tegelijk opslaan (tot 26, max. 8 bytes) Voorbeeld ENUM('a', 's', 'd') Toegestane waarden: 'a', 's', 'd' SET('a', 's', 'd') Toegestane combinaties:'a', 's', 'd', 'a,s', 'a,d', 's,d', 'a,s,d' of '' Dubbele invoer zoals ('a','s','a') wordt automatisch ontdubbeld en opgeslagen als 'a,s'. Conclusie Dit artikel behandelde de meest gebruikte MySQL-datatypen voor het definiëren van tabelkolommen. Met deze kennis kunnen gebruikers geschikte datatypen kiezen en hun databasestructuur efficiënt ontwerpen. Voor minder gangbare datatypen wordt verwezen naar de officiële MySQL-documentatie. Met Hostman cloud-databases kun je praktisch werken met MySQL en zijn datatypen. Belangrijke voordelen zijn: Onderhoud en configuratie door de provider Hoge beschikbaarheid en betrouwbaarheid Automatische back-ups Snelle horizontale en verticale schaalbaarheid Continue werking via clusterreplicatie Gebruik van cloudplatform-compute-resources
16 January 2026 · 6 min to read

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support