MySQL is een open-source, krachtig en veelgebruikt relationeel databasebeheersysteem (RDBMS) die de gegevens organiseert in enkele of meerdere gegevenstabellen waar gegevenstypen aan elk kunnen worden gerelateerd ander. Structured Query Language (SQL) werkt met RDBMS-en en wanneer iemand een enorme hoeveelheid gegevens wil opslaan of beheren, zal hij de service van relationele database en SQL verwerven.
Dit artikel laat zien hoe u MySQL configureert op uw Ubuntu 18.04-server. Het laat ook zien hoe u authenticatie inschakelt, gevolgd door servicebeheer. Uiteindelijk leert u ook hoe u de service kunt testen om de succesvolle configuratie te verifiëren.
Stap 1: Installatie van MySQL-client
Installeer de mysql-client om op afstand verbinding te maken met de server:
sudo apt install mysql-client -y
Controleer de clientversie om te controleren of de installatie is gelukt:
mysql -V
Uitgang:
mysql Ver 8.0.28-0ubuntu0.20.04.3 voor Linux op x86_64 ((Ubuntu))
Nu kunt u de volgende opdracht gebruiken om een externe verbinding met de MySQL-server tot stand te brengen:
mysql -u -P -h HOSTNAME_OR_IP
Stap 2: MySQL Server-installatie
Zorg ervoor dat de Ubuntu-server correct is geïnstalleerd en geconfigureerd voordat u MySQL installeert. De Ubuntu 18.04-server bevat standaard de nieuwste MySQL-versie 5.7 in de repositories. Gebruik de opdracht apt om de systeempakketten als volgt vanuit de repository bij te werken:
sudo apt update
Gebruik nu de volgende opdracht om het MySQL-serverpakket te installeren:
sudo apt install mysql-server -y
Stap 3: MySQL-configuratie
In dit tijdperk van aanhoudende cyberbeveiligingsbedreigingen is het een standaard om standaardopties te wijzigen na een succesvolle serverinstallatie. Deze sectie begeleidt u bij het configureren van MySQL-servers om onveilige standaardopties zoals rootaanmeldingen op afstand, standaardgebruikersaccounts, enz. te elimineren. MySQL vereenvoudigt deze taak door automatisch alle wijzigingen aan te brengen met behulp van een eenvoudig beveiligingsscript.
sudo mysql_secure_installation
Het script vraagt meerdere opties om Ja of Nee antwoorden te vragen om de MySQL-standaardbeveiliging te wijzigen. Bijvoorbeeld, de eerste prompt vraagt of je een plug-in wilt opzetten om wachtwoorden te valideren, antwoord: Ja en doorgaan.
De volgende prompt vraagt om het wachtwoord van het MySQL-rootgebruikersaccount in te stellen. U kunt zien dat het inschakelen van de plug-in Wachtwoord valideren het mogelijk maakt om de wachtwoordsterkte in te stellen op basis van drie niveaus van wachtwoordbeveiligingsbeleid en -lengte.
Voer het nummer in dat u wilt kiezen om de wachtwoordsterkte in te stellen. Het systeem zal dan vragen om het nieuwe wachtwoord in te stellen en het opnieuw te typen ter bevestiging, als volgt:
U kunt merken dat na het instellen van het wachtwoord de sterkte wordt weergegeven en wordt gevraagd of u verder wilt gaan.
Nu zal het de volgende vragen stellen:
- Anonieme testgebruiker verwijderen
- Schakel inloggen op afstand van de rootgebruiker uit
- Verwijder de testdatabases
- Herlaad de privilegetabel om alle wijzigingen op te slaan
Type ja om door te gaan met de standaardinstellingen om beveiligingsregels in te stellen.
Oudere versies van MySQL (vóór 5.7.6) vereisen dat u de databasedirectory handmatig initialiseert. Terwijl voor versies daarna, voer je de volgende opdracht uit:
mysqld –initialiseren
Stap 4: Aanpassingen voor MySQL-gebruikersauthenticatie
Ongeacht het instellen van een wachtwoord voor een MySQL-gebruikersaccount, schakelt de standaardverificatie-instelling het gebruik van wachtwoorden tijdens het tot stand brengen van een verbinding uit. In plaats daarvan authenticeert het de gebruiker automatisch met behulp van de auth_socket inpluggen. De plug-in is een geweldige functie voor bruikbaarheid, maar het is niet praktisch als u toegang wilt tot uw database vanaf een externe client.
Omdat databasetoegang zonder wachtwoord het werkproces bemoeilijkt bij toegang door een extern programma, vat deze sectie twee manieren samen om de gebruiker te authenticeren bij het tot stand brengen van de verbinding:
1. Root-gebruikersauthenticatie met wachtwoord
Om gebruikersauthenticatie via wachtwoord te garanderen, kunt u de plug-in wijzigen van "auth_socket" naar "mysql_native_password." Open hiervoor het MySQL-promptscherm met behulp van de sudo mysql commando en verifieer de plug-in die in gebruik is voor gebruikersauthenticatie, als volgt:
SELECT gebruiker, authenticatie_string, plug-in, host FROM mysql.user;
De bovenstaande schermafbeelding laat zien dat de rootclient zichzelf verifieert met behulp van de plug-in "auth_socket". Om root-clientverificatie te initialiseren met een wachtwoord, gebruikt u de instructie ALTER USER om de plug-in "mysql_native_password" in te stellen.
ALTER GEBRUIKER 'root'@'localhost' GEDENTIFICEERD MET mysql_native_password DOOR 'wachtwoord';
Sla bovenstaande wijzigingen als volgt op:
VLAKKE VOORRECHTEN;
De MySQL-instructie "FLUSH PRIVILEGES" slaat wijzigingen op in de databasetabellen die zijn gemaakt door de clausules ALTER, INSERT, UPDATE en DELETE.
Om nu de authenticatiestrategieën die door elke gebruiker worden gebruikt te verifiëren en ervoor te zorgen dat de plug-in "auth_socket" niet wordt gebruikt door de rootclient, voert u de opdracht opnieuw uit:
SELECT gebruiker, authenticatie_string, plug-in, host FROM mysql.user;
Nu kan de rootgebruiker verbinding maken met de server door te authenticeren via de volgende opdracht:
sudo mysql -u root -p
2. Een toegewijde gebruiker maken
Een andere manier om authenticatie in te schakelen zonder mysql_native_password te gebruiken, is door als volgt een toegewijde gebruiker aan te maken:
sudo mysql
Maak een nieuw account aan en verleen alle rechten om beheer op beheersniveau toe te wijzen aan de nieuwe gebruiker. Sluit vervolgens de MySQL-prompt af. Voer de... uit volgende SQL-query's één voor één om dit te bereiken:
MAAK GEBRUIKER 'ubuntu'@'localhost' GEDENTIFICEERD DOOR 'wachtwoord';
VERLENEN ALLE VOORRECHTEN OP *.* AAN 'ubuntu'@'localhost' MET SUBSIDIEOPTIE;
Uitgang
Beheer en test de MySQL-service met systemctl
Stel de service in om te draaien bij het opstarten van de Ubuntu-server met behulp van de systemctl inschakelen commando als volgt:
sudo systemctl activeer mysql
Bovendien kunt u testen of de server actief is door te typen:
sudo systemctl status mysql
Of
sudo systemctl status mysql.service
De service wordt automatisch uitgevoerd na de installatie van MySQL, maar als dit niet het geval is, kunt u de service starten met de volgende opdracht:
sudo systemctl start mysql
Aan de slag met MySQL Server op Ubuntu
MySQL is een open-source, gebruiksvriendelijk, schaalbaar en robuust databasebeheersysteem. Bovendien is het een integraal onderdeel van het LAMP/LEMP-stackmodel of webtoepassingstechnologieën. Dit relationele databasebeheersysteem (RDBMS) biedt een eenvoudige installatie en gemakkelijke configuratie op de recente versies.
Dit artikel helpt je bij het bouwen van een basis MySQL-configuratie die je zal helpen aan de slag met leren hoe MySQL werkt. Het dekt ook enkele initiële belangrijke beveiligingsmaatregelen in de configuratie om de mazen in de standaardconfiguratie te vermijden. U kunt meer leren over het beveiligen van MySQL door enkele geavanceerde beveiligingstips te volgen.
9 geavanceerde MySQL-beveiligingstips
Lees volgende
Gerelateerde onderwerpen
- Linux
- database
- SQL
- Linux-apps
- Installeer de software
- Ubuntu
Over de auteur
Rumaisa is freelance schrijver bij MUO. Ze heeft veel hoeden gedragen, van wiskundige tot liefhebber van informatiebeveiliging, en werkt nu als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren