Hoe MySQL/MariaDB upgraden en migreren in ServBay
Overzicht
Tijdens lokale ontwikkeling kan het nodig zijn om MySQL- of MariaDB-versie in je ServBay-omgeving te wijzigen, bijvoorbeeld om te testen met nieuwste functies, beveiligingsupdates en projectvereisten. Dit document biedt een duidelijke, stapsgewijze handleiding om deze overstap veilig uit te voeren, inclusief essentiële data back-up en herstel.
Toepassingsscenario's
- Upgraden naar de nieuwste versie: Profiteer van nieuwe functies, prestatieverbeteringen en veiligheidsfixes.
- Testen van projectcompatibiliteit: Controleer of je applicatie correct werkt met verschillende databaseversies.
- Specifieke projectafhankelijkheden: Sommige projecten vereisen een bepaalde databaseversie voor correcte werking.
Vereisten
- ServBay is geïnstalleerd en draait.
- Basiskennis van werken met de terminal.
- Je kent het beheer/wachtwoord van de huidige database-rootgebruiker (
root
). - Er is voldoende schijfruimte voor zowel de nieuwe databaseversie als de back-upbestanden.
Stappenplan
Hieronder volgt een voorbeeld van migratie van MariaDB 10.11 naar MariaDB 11.3. De stappen zijn vrijwel identiek voor MySQL-versies.
1. Maak een back-up van de bestaande databaseversie
Voor je een versie wijzigt, wordt sterk aangeraden een volledige back-up van alle databases te maken. Dit voorkomt dataverlies en dient als herstelpunt bij compatibiliteitsproblemen.
Gebruik de standaard mysqldump
tool via de terminal:
bash
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
1
-u root
: Verbindt met de database alsroot
.-p
: Vraagt het wachtwoord van deroot
-gebruiker.--all-databases
: Back-upt alle databases.--opt
: Een verzameling veelgebruikte opties zoals--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
, enz. Dit zorgt voor een efficiënte, draagbare back-up.> mariadb_backup.sql
: Schrijft de back-up weg alsmariadb_backup.sql
in de huidige map (meestal je home-directory~
).
Voer het commando uit en geef het MariaDB root-wachtwoord op wanneer hierom wordt gevraagd. Wacht tot de back-up voltooid is; er verschijnt weinig output totdat de prompt weer zichtbaar is. De grootte van het bestand hangt af van je database. Controleer of mariadb_backup.sql
niet leeg is.
2. Installeer de nieuwe databaseversie
Open de ServBay-app. Navigeer naar het tabblad Pakketten (Packages). Zoek bij databases naar MariaDB of MySQL, selecteer de gewenste nieuwe versie (bijvoorbeeld MariaDB 11.3), en klik op installeren.
Wacht tot ServBay de nieuwe versie heeft gedownload en geïnstalleerd.
3. Deactiveer de oude databaseversie
Na installatie ga je terug naar Pakketten (Packages) in ServBay. Zoek de oude databaseversie die draait (bijv. MariaDB 10.11). Klik op de statusindicator (meestal een groen bolletje) om deze uit te schakelen. De indicator wordt nu grijs.
4. Activeer de nieuwe databaseversie
Zoek nu de net geïnstalleerde nieuwe databaseversie (bijv. MariaDB 11.3) en klik daar op de statusindicator om deze te activeren. Wanneer het bolletje groen wordt, is de database actief.
5. Stel de nieuwe versie in als standaard
Alleen activeren van de nieuwe versie en de oude deactiveren, zorgt nog niet dat het systeem deze als standaard gebruikt. Je moet dit expliciet aangeven.
Ga naar het Instellingen (Settings) paneel in ServBay. Zoek tussen de databaserelated instellingen naar het selectievakje voor de standaard MySQL of MariaDB versie. Kies uit het dropdown menu de zojuist geactiveerde versie (bijvoorbeeld MariaDB 11.3).
Bevestig je keuze door onderaan op Apply (Toepassen) te klikken.
6. Controleer of de standaardversie correct is ingesteld
Ga terug naar Pakketten (Packages). Hier zie je bij de nieuwe versie (bijv. MariaDB 11.3) nu explicitiet dat deze als standaard is gemarkeerd.
7. Verifieer de standaardversie via de terminal
Open de terminal en voer het onderstaande commando uit om te controleren welke versie standaard gebruikt wordt:
bash
mysql -V
1
De output toont nu de informatie van de nieuwe versie, bijvoorbeeld mysql Ver 11.3.2-MariaDB ...
.
8. Herstel de database vanuit de back-up
Nu kun je de eerder gemaakte back-up terugzetten in de nieuwe databaseversie. In de terminal:
bash
mysql -uroot -p < mariadb_backup.sql
1
-u root
: Verbindt alsroot
gebruiker.-p
: Vraagt het wachtwoord van deroot
-gebruiker.< mariadb_backup.sql
: Leest de SQL statements uit het back-upbestand in en voert ze uit via de MySQL/MariaDB client.
Voer het root-wachtwoord in voor de nieuwe database (meestal gelijk aan dat van de oude, tenzij dit gewijzigd is bij de eerste opstart van de nieuwe versie). Het herstelproces kan afhankelijk van de grootte enige tijd duren.
Let op: Tijdens het herstel kunnen er waarschuwingen of foutmeldingen verschijnen, vooral bij grote verschillen tussen versie of wanneer het back-upbestand versiespecifieke features gebruikt (zoals specifieke storage-engines, functies of DEFINER
clauses). Voor de meeste websites en standaardapplicaties kunnen deze waarschuwingen worden genegeerd. Bij productieomgevingen is het raadzaam om alles goed te controleren.
9. Controleer dat het herstel succesvol was
Log nu in op de database om de volledigheid van je data te verifiëren:
bash
mysql -uroot -p
1
Na het invoeren van het wachtwoord, kom je in de MariaDB/MySQL CLI. Bekijk de lijst met databases:
sql
SHOW DATABASES;
1
Je kunt nu specifieke databases en tabellen controleren, queries uitvoeren en zorgen dat alles werkt en bereikbaar is vanuit je applicatie.
Belangrijke aandachtspunten
- Datacompatibiliteit: Hoewel MySQL/MariaDB veel waarde hechten aan compatibiliteit, kunnen belangrijke versiesprongen (zoals van 5.7 naar 8.0, of MariaDB 10.x naar 11.x) onverenigbaarheden introduceren. Raadpleeg voor de migratie altijd de officiële documentatie.
- Configuratiebestanden: ServBay gebruikt voor elke versie losse configuratiebestanden zoals
my.cnf
ofmy.ini
. Heb je aangepaste instellingen in je oude configuratie, dan moet je deze handmatig migreren of samenvoegen met de nieuwe. Configuratiebestanden bevinden zich meestal in de ServBay-installatiemap, bijvoorbeeld/Applications/ServBay/etc/mysql/versienummer/my.cnf
. - Performance: De standaardinstellingen en interne optimalisaties kunnen wijzigen in een nieuwe versie. Voer na de overstap prestatie- en functioneringstests uit, en pas eventueel de configuratie aan.
- Poorten: Standaard luisteren ServBay databases op poort 3306. Het wisselen van standaardversie wijzigt niet de poort. Wil je meerdere versies tegelijk actief houden op verschillende poorten, pas dan handmatig de configuratie aan.
Veelgestelde vragen (FAQ)
- Vraag: De nieuwe databaseversie start niet, wat nu?
- Antwoord: Controleer de statusindicator en de logbestanden in het pakketpaneel van ServBay. Database logs vind je doorgaans in
var/log/mysql
ofvar/log/mariadb
binnen de ServBay-installatiemap. Logs geven vaak duidelijkheid bij opstartproblemen (configuratiefouten, poortconflicten, rechten).
- Antwoord: Controleer de statusindicator en de logbestanden in het pakketpaneel van ServBay. Database logs vind je doorgaans in
- Vraag: Fouten tijdens databaseherstel, wat nu?
- Antwoord: Lees de foutmelding zorgvuldig. Veelvoorkomende fouten zijn character set-kwesties (probeer bijvoorbeeld de optie
--default-character-set=utf8mb4
bij mysqldump), of problemen metDEFINER
rechten (deze kunnen in het back-upbestand worden aangepast), of beschadigde back-upbestanden. Voor grote databases zijn tools alsmydumper
/myloader
goed om parallel back-ups en herstel uit te voeren.
- Antwoord: Lees de foutmelding zorgvuldig. Veelvoorkomende fouten zijn character set-kwesties (probeer bijvoorbeeld de optie
- Vraag: Kan ik wisselen van databaseversie zonder eerst back-up en herstel?
- Antwoord: Dat wordt sterk afgeraden, zeker bij een grote versie-upgrade. Rechtstreeks wisselen kan tot onverenigbare datatypes, verlies of corruptie leiden. Back-up en herstel is de veiligste methode.
- Vraag: Mijn website of app kan na het wisselen niet meer bij de database, wat nu?
- Antwoord: Controleer of de nieuwe databaseversie in ServBay draait en als standaard staat ingesteld. Kijk of de databaseconnectie-instellingen (host - meestal
127.0.0.1
oflocalhost
, poort 3306, gebruikersnaam, wachtwoord) in je applicatie correct zijn.
- Antwoord: Controleer of de nieuwe databaseversie in ServBay draait en als standaard staat ingesteld. Kijk of de databaseconnectie-instellingen (host - meestal
Samenvatting
Door het stappenplan in dit document te volgen, wissel je veilig en probleemloos tussen standaardversies van MySQL en MariaDB in ServBay. De kern: back-up je data, installeer en activeer de nieuwe versie, stel deze als standaard in via ServBay-instellingen, en rond af met een back-upherstel. Behandel data back-ups altijd met prioriteit en verifieer na overstappen of je data compleet en je applicatie werkend is.