# Hoe MySQL op Ubuntu 20.04 te installeren

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:

```bash
$ sudo apt update
```

### Stap 2: Installeer de MySQL-server

Installeer vervolgens het MySQL-serverpakket met **APT**:

```bash
$ sudo apt install mysql-server
```

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

```bash
$ sudo systemctl start mysql.service
```

### 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:

```bash
$ sudo mysql
```

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

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

Sluit de MySQL-opdrachtprompt:

```bash
mysql> exit
```

Voer het beveiligingsscript uit:

```bash
$ sudo mysql_secure_installation
```

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

```bash
$ mysql -u root -p
```

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

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

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:

```bash
$ sudo mysql
```

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

```bash
$ mysql -u root -p
```

Maak nu een nieuwe gebruiker aan voor MySQL:

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

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:

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

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

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

### Stap 5: Privileges toewijzen

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

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

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).

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

‘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’:

```bash
mysql> FLUSH PRIVILEGES;
```

Daarna kunt u de MySQL-opdrachtprompt sluiten:

```bash
mysql> exit
```

Nu kunt u inloggen met de nieuwe gebruikersnaam:

```bash
$ mysql -u username -p
```

### Stap 6: MySQL testen

Controleer of MySQL correct werkt met bijvoorbeeld de systeembeheerder **Systemd**:

```bash
$ systemctl status mysql.service
```

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

```bash
$ sudo mysqladmin -p -u username version
```


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/mysql-installeren-op-ubuntu-2004/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/mysql-installeren-op-ubuntu-2004/) for AI/LLM consumption.