MySQL is een van de populairste open source databases. Het staat bekend om zijn prestaties, betrouwbaarheid en schaalbaarheid en wordt op veel verschillende gebieden gebruikt, van kleine webhostingsystemen tot grote ondernemingen. In dit artikel leggen we stap voor stap uit hoe u MySQL op Ubuntu 20.04 installeert, zodat u een betrouwbaar databasebeheersysteem kunt opzetten.

Wat zijn de vereisten voor het installeren van MySQL op Ubuntu 20.04?

Er zijn relatief weinig systeemvereisten voor het installeren van MySQL op Ubuntu 20.04, waaraan de meeste moderne desktop- en serversystemen zouden moeten voldoen. Het is belangrijk om op te merken dat de vereisten kunnen variëren, afhankelijk van het beoogde doel en de omvang van de database. Als u bijvoorbeeld een intensieve applicatie wilt draaien die gebruikmaakt van grote databases of complexe query’s, zullen de RAM en verwerkingskracht die nodig zijn om goede prestaties te garanderen hoger zijn. U moet ook voldoende ruimte op uw harde schijf hebben om toekomstige groei en de toevoeging van meer databases mogelijk te maken.

Controleer uw netwerkconfiguratie en firewallinstellingen om een soepele communicatie tussen de MySQL-server en clients te garanderen. De MySQL-server moet een statisch IP-adres hebben om problemen met de verbinding te voorkomen.

Hier zijn de minimale vereisten voor het installeren van MySQL:

  • Processor (CPU): x86-64-architectuur, min. 1 GHz (dual-core)
  • RAM: min. 1 GB
  • Besturingssysteem: Ubuntu 20.04, een gebruikersaccount met sudo- en root-rechten
  • Firewall: MySQL-poort 3306 open
  • Ruimte op harde schijf: min. 500 MB
  • Internetverbinding: vereist voor het downloaden van pakketten en het verbinden met de MySQL-server

Stapsgewijze handleiding voor het installeren van MySQL op Ubuntu 20.04

MySQL kan op Ubuntu 20.04 worden geïnstalleerd met behulp van het pakketbeheersysteem APT (Advanced Package Tool). Na de installatie moet u het programma instellen en configureren. Hiervoor hebt u het root-wachtwoord en toegang tot externe clients nodig. Hieronder laten we u stap voor stap zien hoe u MySQL op Ubuntu 20.04 installeert.

Stap 1: Pakketindex bijwerken

Allereerst is het een goed idee om ervoor te zorgen dat uw lijst met pakketten up-to-date is. Hiervoor kunt u de volgende opdracht gebruiken:

$ sudo apt update
bash

Stap 2: Installeer de MySQL-server

Installeer vervolgens het MySQL-serverpakket met APT:

$ sudo apt install mysql-server
bash

Om te controleren of de server actief is, kunt u deze handmatig starten met het commando systemctl.

$ sudo systemctl start mysql.service
bash

Stap 3: MySQL configureren

MySQL voldoet direct na installatie niet aan de aanbevolen beveiligingsnormen. Om dit te verhelpen, gebruikt u het script dat door MySQL wordt aangeboden om de instellingen te wijzigen en de server beter te beveiligen. Hiermee stelt u het root-wachtwoord in, verwijdert u anonieme gebruikers en beperkt u externe toegang.

Je moet bepaalde voorzorgsmaatregelen nemen om ervoor te zorgen dat je het script correct uitvoert. De app wil het wachtwoord voor het root-account wijzigen, dat standaard is gedeactiveerd op Ubuntu. Om een fout te voorkomen, moet je de authenticatiemethode van root-gebruikers aanpassen.

Start hiervoor de MySQL-opdrachtprompt:

$ sudo mysql
bash

Gebruik het commando ALTER USER om een wachtwoord voor root in te stellen:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Sluit de MySQL-opdrachtprompt:

mysql> exit
bash

Voer het beveiligingsscript uit:

$ sudo mysql_secure_installation
bash

Om de rootgebruiker te authenticeren, voert u het volgende in:

$ mysql -u root -p
bash

Nadat het script is voltooid, kunt u de standaardauthenticatiemethode opnieuw wijzigen:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
bash

Hierdoor kunt u opnieuw verbinding maken met het sudo mysql-comm ando.

Stap 4: MySQL-gebruikers instellen

Bij het installeren van MySQL wordt een rootgebruiker aangemaakt die alle rechten voor de MySQL-server heeft en volledige controle over databases, tabellen en gebruikers. Om de veiligheid te vergroten, moet u een gebruiker met beperkte rechten aanmaken.

Open hiervoor de MySQL-opdrachtprompt:

$ sudo mysql
bash

Als u een wachtwoord als authenticatiemethode hebt ingesteld, gebruikt u het volgende:

$ mysql -u root -p
bash

Maak nu een nieuwe gebruiker aan voor MySQL:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
bash

Voer uw gebruikersnaam in op de plaats van ‘gebruikersnaam’ en de naam van uw host op de plaats van ‘host’. Als u Ubuntu lokaal gebruikt, schrijft u localhost. De uitdrukking ‘WITH authentication_plugin’ is optioneel. De plug-in ‘auth_socket’ heeft strenge beveiligingsinstellingen en vereist geen wachtwoord om in te loggen.

Tenzij anders aangegeven, gebruikt MySQL de plug-in ‘caching_sha2_password’ voor authenticatie. Sommige versies van PHP zijn hier echter niet compatibel mee. In plaats daarvan kunt u de beproefde plug-in ‘mysql_native_password’ gebruiken:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Of gebruik de functie ‘alter’ voor een bestaande gebruiker:

mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Stap 5: Privileges toewijzen

Nu is het tijd om in te stellen welke rechten de nieuwe gebruiker krijgt. De syntaxis hiervoor is:

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
bash

Privileges worden gescheiden door een komma. Om algemene privileges te verlenen, vervangt u ‘database.table’ door een asterisk ‘*’.

In het volgende voorbeeld verlenen we een gebruiker toestemming om databases aan te maken (CREATE), te wijzigen (ALTER) en te verwijderen (DROP) en om gegevens in een tabel in te voegen (INSERT), te selecteren (SELECT), bij te werken (UPDATE) en te verwijderen (DELETE).

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
bash

‘MET GRANT-OPTIE’ geeft de gebruiker toestemming om de privileges die hij heeft aan andere gebruikers te geven.

Leeg nu de cache met ‘FLUSH PRIVILEGES’:

mysql> FLUSH PRIVILEGES;
bash

Daarna kunt u de MySQL-opdrachtprompt sluiten:

mysql> exit
bash

Nu kunt u inloggen met de nieuwe gebruikersnaam:

$ mysql -u username -p
bash

Stap 6: MySQL testen

Controleer of MySQL correct werkt met bijvoorbeeld de systeembeheerder Systemd:

$ systemctl status mysql.service
bash

Je kunt ook verbinding maken met de MySQL-database. Met het volgende commando log je in op MySQL en wordt de serverversie weergegeven:

$ sudo mysqladmin -p -u username version
bash
Ga naar hoofdmenu