MySQL: Geavanceerd gebruik

Hoe MySQL-data te configureren, optimaliseren, exporteren of importeren

👋 Welkom bij de Stackhero documentatie!

Stackhero biedt een kant-en-klare MySQL cloud oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte verbindingen en overdrachten.
  • phpMyAdmin webinterface inbegrepen.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de MySQL cloud hosting oplossing van Stackhero te proberen!

Bij Stackhero is er geen hardcoded limiet voor het aantal gelijktijdige verbindingen dat uw MySQL-server aankan. U heeft de flexibiliteit om deze parameter direct vanuit uw Stackhero-dashboard aan te passen aan de behoeften van uw applicatie.

Hoewel het verleidelijk kan zijn om deze waarde zo hoog mogelijk in te stellen, is het verstandig om een praktisch limiet te kiezen. Elke open verbinding gebruikt servergeheugen (RAM), dus een te hoge waarde kan onnodige druk op uw instantie zetten en mogelijk uw database instabiel maken.

Als uw database gebruikmaakt van de InnoDB storage engine, kunt u de optie "InnoDB Optimizations" inschakelen in het Stackhero-dashboard om de prestaties te verbeteren.

Op dezelfde manier kan het activeren van de optie "MyISAM Optimizations" prestatieverbeteringen opleveren als uw database de MyISAM storage engine gebruikt.

Als u niet zeker weet welke storage engine uw database gebruikt of welke optimalisatie u moet kiezen, is het over het algemeen veilig om deze opties standaard in te schakelen. U kunt ze later altijd verder afstemmen op basis van uw workload of resourcegebruik.

MySQL command-line tools zoals mysql en mysqldump zijn zeer handig voor taken zoals het importeren en exporteren van data.

Een eenvoudige manier om toegang te krijgen tot deze tools is door ze uit te voeren in een Docker-container. Deze aanpak houdt uw lokale omgeving schoon en voorkomt dat u handmatig installaties hoeft uit te voeren.

Als Docker geen onderdeel is van uw workflow, is dat geen enkel probleem. U kunt Code-Hero op Stackhero bekijken. Dit browsergebaseerde ontwikkelplatform stelt u in staat direct in uw browser te werken, zonder iets lokaal te hoeven installeren. U kunt er in een paar minuten meer over leren en het direct uitproberen via Code-Hero op Stackhero.

Om te starten met Docker, kunt u een MySQL-container opzetten met het volgende commando:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

Vervang <MYSQL_VERSION> door de gewenste versie. Bijvoorbeeld, als u MySQL 8.0.36-0 op Stackhero gebruikt, vult u 8.0.36 in (laat de -0 aan het einde weg).

Zodra uw container draait, kunt u uw verbinding testen met dit commando:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

Uw huidige directory wordt gekoppeld aan /mnt binnen de container (dankzij het argument $(pwd):/mnt). Deze setup maakt het eenvoudig om bestanden tussen uw computer en de container te verplaatsen. Wilt u bijvoorbeeld een database back-uppen naar uw machine, gebruik dan:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

Om een back-up (of "dump") van uw database te maken, kunt u het mysqldump-tool direct vanaf uw computer gebruiken. (Zie de vorige sectie voor details over het uitvoeren ervan in Docker als u dat liever heeft.)

Om een database van uw Stackhero-instantie naar uw computer te exporteren, voert u het volgende uit:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

Zorg ervoor dat u <XXXXXX>.stackhero-network.com, <PORT> en <DATABASE> vervangt door de gegevens van uw eigen instantie. Na het uitvoeren van het commando wordt u gevraagd om het root-wachtwoord. Het mysqldump-tool slaat vervolgens uw databasetabellen op in een bestand met de naam <DATABASE>.sql.

Om een database vanaf uw computer in uw Stackhero-instantie te importeren, gebruikt u dit commando:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

Vergeet niet yourDump.sql te vervangen door de daadwerkelijke bestandsnaam van het SQL-bestand dat u wilt importeren.