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:

instagram viewer
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:

  1. Anonieme testgebruiker verwijderen
  2. Schakel inloggen op afstand van de rootgebruiker uit
  3. Verwijder de testdatabases
  4. 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

DelenTweetenDelenE-mail

Gerelateerde onderwerpen

  • Linux
  • database
  • SQL
  • Linux-apps
  • Installeer de software
  • Ubuntu

Over de auteur

Rumaisa Niazi (21 artikelen gepubliceerd)

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.

Meer van Rumaisa Niazi

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