MySQL en MariaDB: geschiedenis, forks en praktisch gebruik
De ontwikkeling begon in 1994 toen SQL werd geïntegreerd in het bestaande Unireg-systeem. De eerste officiële versie verscheen in december 1995. MySQL won snel terrein bij webapplicaties en dynamische websites.
2. De overnames en de geboorte van MariaDB
In 2001 haalde MySQL Finland Ab investeerders binnen en stelde Mårten Mickos aan als CEO. In 2003 sloot het bedrijf een overeenkomst met SAP en bracht MaxDB uit, een database voor zakelijke toepassingen.Een cruciale technologische stap volgde in 2005: Oracle nam de InnoDB-storage engine over. InnoDB levert transacties, referentiële integriteit en crashherstel — essentiële functies voor betrouwbare databases. Deze overname gaf Oracle controle over een kerncomponent van een open source alternatief, wat later een directe aanleiding vormde voor de fork.
In maart 2008 nam Sun Microsystems MySQL AB over voor 1 miljard dollar. De aankondiging was op 16 januari 2008, de afronding op 26 februari 2008. De overname was van korte duur: in april 2009 kondigde Oracle de overname van Sun Microsystems aan, inclusief MySQL.
De open source gemeenschap vreesde dat Oracle de ontwikkeling zou afremmen. Michael "Monty" Widenius, een van de oorspronkelijke ontwikkelaars van MySQL, startte daarom in 2009 met andere kernontwikkelaars een fork: MariaDB. De eerste versie, MariaDB 5.1.38, verscheen op 29 oktober 2009.
3. MariaDB als onafhankelijke opvolger
MariaDB is technisch een directe opvolger van MySQL en volledig compatibel. Het behoudt de open source geest en blijft onafhankelijk van commerciële belangen.In 2012 werd de MariaDB Foundation opgericht om de onafhankelijke ontwikkeling te waarborgen. In oktober 2014 werd SkySQL Ab hernoemd tot MariaDB Corporation, wat de commerciële ondersteuning professionaliseerde. In januari 2016 trad Monty Widenius aan als CTO van MariaDB Corporation.
MariaDB biedt extra functionaliteiten ten opzichte van MySQL: virtuele kolommen, dynamische kolommen, betere analytische mogelijkheden en nieuwe storage engines zoals Aria en ColumnStore.
4. MySQL en MariaDB in Docker
In moderne ontwikkelpraktijken draaien MySQL en MariaDB vaak in containers. Docker Compose creëert een consistente databaseomgeving voor ontwikkeling, testen en productie.Hieronder staat een voorbeeld voor een Laravel-stack met PHP-FPM, Nginx en MariaDB:
version: '3.8'</p><p>services:
nginx:
image: nginx:1.25-alpine
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php-fpm</p><p>php-fpm:
image: php:8.2-fpm
volumes:
- ./src:/var/www/html</p><p>mariadb:
image: mariadb:11.2
environment:
MARIADB_DATABASE: laravel
MARIADB_USER: laravel
MARIADB_PASSWORD: secret
MARIADB_ROOT_PASSWORD: rootsecret
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql</p><p>volumes:
db_data:Start de stack met:
docker compose up -d
De database is dan bereikbaar op `localhost:3306` met gebruiker `laravel` en wachtwoord `secret`.
5. Grafische clients voor MySQL en MariaDB
DBeaver Community
DBeaver Community is een gratis multi-platform database tool die MySQL, MariaDB, PostgreSQL, SQLite en vele andere databases ondersteunt. Het is gebaseerd op Eclipse en biedt een uitgebreide interface voor databasebeheer, SQL-query's en data-analyse.Installatie via Flatpak:
flatpak install flathub io.dbeaver.DBeaverCommunity
Sequeler
Sequeler is een gebruiksvriendelijke SQL-client voor MySQL, MariaDB, PostgreSQL en SQLite. Het biedt een grafische interface voor verbindingen, SQL-opdrachten, tabellen en data. Installatie via Flatpak:flatpak install flathub com.github.alexkdeveloper.sequeler
SQuirreL SQL Client
SQuirreL SQL Client is een Java-gebaseerde SQL-client die werkt met elke JDBC-compatibele database, inclusief MySQL en MariaDB. Het ondersteunt drivers van verschillende databases en is geschikt voor ontwikkelaars die met meerdere databaseplatforms werken.6. MySQL en MariaDB in monitoring
Beide systemen draaien ook in infrastructuurbeheer. Cacti, een webgebaseerde monitoringtool, gebruikt MariaDB om netwerkprestaties op te slaan en te visualiseren. Het vereist een webserver en een database; MariaDB is een van de ondersteunde opties.Installatie van Cacti met MariaDB op Debian 12:
sudo apt update
sudo apt install mariadb-server cactiTijdens de installatie configureert u de database voor Cacti. De webinterface is daarna bereikbaar via `http://localhost/cacti`.
7. MySQL versus MariaDB: praktische verschillen
De keuze tussen MySQL en MariaDB hangt af van de use case. MariaDB is een drop-in replacement voor MySQL en biedt extra storage engines en betere prestaties in sommige workloads. MySQL heeft echter een grotere commerciële ondersteuning via Oracle en een langere staat van dienst in enterprise-omgevingen.Voor nieuwe projecten op Linux met open source software is MariaDB vaak de standaardkeuze, omdat het de community-gedreven ontwikkeling voortzet. Voor bestaande infrastructuren met MySQL-licenties of specifieke Oracle-ondersteuning blijft MySQL de veilige optie.
Verificatie
Controleer of uw database draait en welke versie actief is:mysql --version
Voor MariaDB:
mariadb --version
Maak een testverbinding:
mysql -u root -p -e "SELECT VERSION();"
In Docker:
docker compose exec mariadb mariadb -u root -p -e "SELECT VERSION();"
Veelgestelde problemen
Probleem: Kan geen verbinding maken met MySQL/MariaDB vanaf een andere machine. Oplossing: controleer of de database luistert op alle interfaces. In `/etc/mysql/mariadb.conf.d/50-server.cnf` zet u `bind-address = 0.0.0.0` en herstart u de service:sudo systemctl restart mariadb
Probleem: MySQL-dump werkt niet na migratie naar MariaDB. Oplossing: gebruik `mariadb-dump` in plaats van `mysqldump` voor volledige compatibiliteit:
mariadb-dump -u root -p database > backup.sql
Probleem: InnoDB-tabellen raken beschadigd na een crash. Oplossing: start MariaDB met `innodb_force_recovery=1` in `/etc/mysql/mariadb.conf.d/50-server.cnf`, dump de data en herstel de database:
sudo systemctl stop mariadb
sudo mysqld --innodb-force-recovery=1De geschiedenis van MySQL toont aan hoe een open source project kan uitgroeien tot een industriestandaard en hoe een fork als MariaDB de oorspronkelijke waarden kan voortzetten — de keuze tussen beide bepaalt niet alleen uw database, maar ook uw positie binnen het bredere ecosysteem.