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:
$ sudo apt updatebashStap 2: Installeer de MySQL-server
Installeer vervolgens het MySQL-serverpakket met APT:
$ sudo apt install mysql-serverbashOm te controleren of de server actief is, kunt u deze handmatig starten met het commando systemctl.
$ sudo systemctl start mysql.servicebashStap 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 mysqlbashGebruik het commando ALTER USER om een wachtwoord voor root in te stellen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';bashSluit de MySQL-opdrachtprompt:
mysql> exitbashVoer het beveiligingsscript uit:
$ sudo mysql_secure_installationbashOm de rootgebruiker te authenticeren, voert u het volgende in:
$ mysql -u root -pbashNadat het script is voltooid, kunt u de standaardauthenticatiemethode opnieuw wijzigen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;bashHierdoor 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 mysqlbashAls u een wachtwoord als authenticatiemethode hebt ingesteld, gebruikt u het volgende:
$ mysql -u root -pbashMaak nu een nieuwe gebruiker aan voor MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashVoer 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';bashOf gebruik de functie ‘alter’ voor een bestaande gebruiker:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashStap 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';bashPrivileges 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;bashDaarna kunt u de MySQL-opdrachtprompt sluiten:
mysql> exitbashNu kunt u inloggen met de nieuwe gebruikersnaam:
$ mysql -u username -pbashStap 6: MySQL testen
Controleer of MySQL correct werkt met bijvoorbeeld de systeembeheerder Systemd:
$ systemctl status mysql.servicebashJe 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 versionbash