Hoe MySQL-gebruikers aanmaken en beheren

Gepubliceerd: door Alejandro Granata
Hoe MySQL-gebruikers aanmaken en beheren thumbnail

Stel je een bibliotheek voor waar iedereen op elk moment binnen kan komen en wijzigingen aan de boeken kan maken.

Je komt binnen om Lord of the Rings te bekijken, maar plotseling is het in plaats van een tijdloos verhaal over vriendschap en moed in het aangezicht van alomvattend kwaad, precies het tegenovergestelde.

Iemand heeft Frodo en Sam’s heldhaftige reis naar Mordor herschreven, waardoor ze het opgeven om Midden-aarde te redden en in plaats daarvan kiezen om een juwelierszaak in Bree te openen. Hun eerste klant? Sauron. En raad eens, hij is op zoek naar een ring.

Wat betreft Aragorn, Legolas en Gimli? Laten we zeggen dat degene die het verhaal heeft bewerkt erg geïnteresseerd is in fanfiction. We laten het daarbij.

Jouw website is als die bibliotheek, en de database die het aandrijft is als alle boeken die erin staan. Als je zomaar iedereen toegang geeft om wijzigingen aan te brengen, kun je eindigen met een Lord of the Rings-herschrijfsituatie — maar dan veel erger omdat het je hele site (en alle gegevens) in gevaar kan brengen.

Database

Een database is een verzameling informatie die toegankelijk is voor computers. Databases worden gebruikt om informatie op te slaan zoals klantgegevens, productcatalogi en financiële transacties.

Lees Meer

Daarom moet je beheersen wie jouw gegevens kan zien, openen en wijzigen om je site veilig en soepel te laten draaien.

Deze post leidt je door de basis van MySQL-gebruikersbeheer, van het aanmaken van gebruikersaccounts tot het toewijzen en wijzigen van rechten.

Klaar om te beginnen? Laten we starten!

Wat is een MySQL-database?

Een MySQL-database is een gestructureerde verzameling van elektronisch opgeslagen gegevens die beheerd wordt met het MySQL Database Management System (DBMS).

MySQL, een open-source relationeel databasemanagementsysteem, gebruikt Structured Query Language (SQL) voor het benaderen, beheren en manipuleren van de gegevens.

Een MySQL-database is ontworpen om alles te verwerken, van een enkele rij informatie tot grote datasets die bestaan uit miljoenen rijen. Het is gebouwd om gegevens op te slaan in tabellen, die georganiseerd zijn in rijen en kolommen. Elke tabel in een MySQL-database dient een specifiek doel, waarbij gegevens worden bewaard die relevant zijn voor verschillende aspecten van je site of webapplicatie.

MySQL is bekend om zijn betrouwbaarheid en gebruiksgemak. Webontwikkelaars in verschillende industrieën gebruiken het voor webapplicaties, logapplicaties, datawarehousing en meer. Of je nu gebruikersinformatie, productcatalogi of transactierecords opslaat, MySQL is robuust en schaalbaar en kan waarschijnlijk voldoen aan je behoeften voor databasemanagement.

Pro tip: Moet je een MySQL-database migreren of verbinden met je DreamHost-site? Vind een gemakkelijk te volgen tutorial in onze Kennisbank.

Ontvang inhoud rechtstreeks in uw inbox

Meld u nu aan om alle laatste updates rechtstreeks in uw inbox te ontvangen.

MySQL Gebruikersaccounts Uitgelegd

MySQL-gebruikersaccounts zijn essentieel voor het beheren van de toegang tot je database. Elk gebruikersaccount in MySQL kan specifieke rechten krijgen die bepalen welke acties de gebruiker kan uitvoeren. Deze gedetailleerde controle helpt bij het behouden van de veiligheid en integriteit van je gegevens.

De Rol Van De Root-Gebruiker

Wanneer je MySQL voor het eerst installeert, wordt een standaard gebruikersaccount met de naam root aangemaakt.

De rootgebruiker heeft volledige administratieve bevoegdheden, wat betekent dat hij elke actie op de database kan uitvoeren, inclusief het creëren en verwijderen van databases, het toevoegen en verwijderen van gebruikers, en het verlenen of intrekken van rechten.

Hoewel de root-gebruiker krachtig is, raden we het niet aan om alleen op dit account te vertrouwen voor alle taken. Het gebruiken van het root-account voor dagelijkse operaties vormt een aanzienlijk beveiligingsrisico.

Als iemand onbevoegde toegang krijgt tot dit account, dan heeft diegene controle over jouw database.

Diagram van MySQL-gebruikersaccounts, met Rootgebruiker, Ontwikkelaar, Beheerder en Nieuwe gebruiker verbonden met MySQL-databasevakken.

Waarom Nieuwe Gebruikers Aanmaken?

Voor betere beveiliging en om databasemanagement te stroomlijnen, is het beste advies om specifieke gebruikersaccounts aan te maken voor verschillende doeleinden.

Bijvoorbeeld, je kunt afzonderlijke accounts aanmaken voor ontwikkelaars, beheerders en applicatieprocessen, waarbij je elk type account alleen de benodigde rechten geeft die ze nodig hebben om hun taken uit te voeren. Op deze manier minimaliseer je het risico op ongelukkige of kwaadwillende acties die de integriteit en beveiliging van je database kunnen beïnvloeden.

Het aanmaken van nieuwe gebruikersaccounts stelt je in staat om:

  • Verbeter database- en sitveiligheid: Beperk toegang tot gevoelige gegevens en kritieke operaties door alleen de noodzakelijke machtigingen aan elke gebruiker toe te wijzen.
  • Beter organiseren van rollen: Definieer duidelijk rollen en verantwoordelijkheden binnen je team door iedereen het juiste toegangsniveau te geven voor de taken die ze moeten uitvoeren.
  • Maak het gemakkelijker om je database te beheren: Volg en beheer gebruikersactiviteiten gemakkelijk, wat het eenvoudiger maakt om wijzigingen te auditen en problemen te identificeren.

Hoe Beheer Je Jouw MySQL-Gebruikers (Twee Methoden)

We behandelen twee primaire methoden om je MySQL-gebruikers te beheren: direct gebruik van MySQL en gebruik van het DreamHost Panel. Uiteindelijk hangt de methode die je gebruikt af van je comfortniveau met command-line tools en je specifieke vereisten.

Gebruikers Beheren Met MySQL

Om MySQL-gebruikers direct via MySQL te beheren, moet je MySQL op je systeem geïnstalleerd hebben.

Dit omvat het downloaden van de MySQL-software van de officiële MySQL-website, het installeren ervan en het configureren volgens de vereisten van je besturingssysteem.

Eenmaal geïnstalleerd, kun je interageren met je MySQL-database via de MySQL-opdrachtregelclient.

Nerd Note: De meeste van de volgende commando’s kunnen alleen worden gebruikt op dedicated servers. Je kunt onze Kennisbank raadplegen voor meer informatie.

Pagina van MySQL Community Downloads die MySQL Installer 8.0.37 opties voor Windows toont, met downloadlinks en bestandsdetails.

Om MySQL te installeren, volg deze stappen:

  1. Bezoek de officiële website van MySQL, download de installer en volg de installatie-instructies voor jouw besturingssysteem (Windows, macOS of Linux).
  2. Na installatie moet je de MySQL-server configureren om initiële gebruikersaccounts en beveiligingsinstellingen in te stellen.
  3. Gebruik Terminal (op macOS en Linux) of Command Prompt (op Windows) om toegang te krijgen tot de MySQL-opdrachtregelinterface door het commando mysql -u root -p in te voeren, gevolgd door je root-wachtwoord.

Zodra je MySQL hebt ingesteld, kun je gebruikersaccounts aanmaken, beheren en verwijderen met SQL-commando’s.

Deze methode geeft je een hoge mate van controle en flexibiliteit, maar vereist wel dat je bekend bent met SQL-syntax en command-line operaties (die we hieronder gedetailleerder zullen bespreken).

Hoe Een MySQL Gebruikersaccount Te Creëren

  1. Meld je aan bij de MySQL-server als de root-gebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Je wordt gevraagd om het root-wachtwoord in te voeren. Eenmaal geverifieerd, ben je verbonden met de MySQL-server.
  3. Om een nieuwe gebruiker te creëren, gebruik je de CREATE USER instructie. Vervang newuser door de gewenste gebruikersnaam en password door een sterk wachtwoord voor de nieuwe gebruiker: CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
  4. Dit commando maakt een nieuwe gebruiker aan die alleen kan verbinden vanaf de lokale machine (localhost). Als je wilt dat de gebruiker vanaf elke host kan verbinden, vervang dan localhost door %.
  5. Om de wijzigingen toe te passen, voer je het commando FLUSH PRIVILEGES uit: FLUSH PRIVILEGES;

Nerd Opmerking: Wanneer een wachtwoord via de commandoprompt wordt toegewezen, is het een goed gebruik om de terminalgeschiedenis te wissen om het risico te verminderen dat iemand een wachtwoord vindt.

Hoe Rechten Toekennen aan een MySQL-Gebruiker

  1. Meld je aan bij de MySQL-server als de root-gebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Voer je root-wachtwoord in om verbinding te maken met de MySQL-server.
  3. Gebruik de GRANT instructie om specifieke privileges toe te kennen aan een gebruiker. Privileges kunnen worden toegekend voor specifieke databases, tabellen of zelfs kolommen. Hier zijn enkele gangbare voorbeelden:
    1. Ken alle privileges toe aan een specifieke database (Dit commando kent alle privileges toe aan de exampledb database voor de gebruiker newuser die verbinding maakt vanaf localhost): GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'localhost';
    2. Ken specifieke privileges toe aan een specifieke database (Dit commando kent alleen de SELECT, INSERT, en UPDATE privileges toe aan de exampledb database voor de gebruiker newuser die verbinding maakt vanaf localhost): GRANT SELECT, INSERT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
    3. Ken alle privileges toe aan alle databases (Dit commando kent alle privileges toe aan alle databases voor de gebruiker newuser die verbinding maakt vanaf localhost. De WITH GRANT OPTION stelt de gebruiker in staat om privileges aan andere gebruikers toe te kennen): GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
    4. Ken privileges toe aan specifieke tabellen (Dit commando kent SELECT en INSERT privileges toe aan de exampletable tafel binnen de exampledb database voor de gebruiker newuser): GRANT SELECT, INSERT ON exampledb.exampletable TO 'newuser'@'localhost';
  4. Om de wijzigingen toe te passen, gebruik je het FLUSH PRIVILEGES commando: FLUSH PRIVILEGES;

Hoe Je Privileges Voor Een MySQL-Gebruiker Kunt Zien

  1. Meld je aan bij de MySQL-server als de root-gebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Voer je root-wachtwoord in om verbinding te maken met de MySQL-server.
  3. De SHOW GRANTS-instructie wordt gebruikt om de privileges te tonen die aan een specifieke gebruiker zijn verleend. Om de privileges voor een bepaalde gebruiker te zien, gebruik je het volgende commando, vervang newuser door de gebruikersnaam en localhost door de host vanwaar de gebruiker verbinding maakt: SHOW GRANTS FOR 'newuser'@'localhost';
  4. Bekijk zorgvuldig de vermelde privileges om er zeker van te zijn dat de gebruiker de juiste permissies heeft. Als aanpassingen nodig zijn, kun je de privileges van de gebruiker wijzigen met behulp van de GRANT– of REVOKE-instructies, die we in de volgende secties zullen behandelen.

Hoe Je De Permissies Voor Een MySQL-Gebruiker Aanpast

  1. Meld je aan bij de MySQL-server als de rootgebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Voer je root wachtwoord in om verbinding te maken met de MySQL-server.
  3. Om extra privileges aan een gebruiker te verlenen, gebruik je de GRANT instructie. Bijvoorbeeld, om het UPDATE privilege voor de exampledb database aan newuser vanaf localhost te verlenen, gebruik: GRANT UPDATE ON exampledb.* TO 'newuser'@'localhost';
  4. Om specifieke privileges van een gebruiker te verwijderen, gebruik je de REVOKE instructie. Bijvoorbeeld, om het INSERT privilege op de exampledb database van newuser vanaf localhost in te trekken, gebruik: REVOKE INSERT ON exampledb.* FROM 'newuser'@'localhost';
  5. Nadat je de GRANT of REVOKE hebt gebruikt, vergeet niet de wijzigingen toe te passen door het FLUSH PRIVILEGES commando te gebruiken: FLUSH PRIVILEGES;

Als je de rechten van een gebruiker volledig moet wijzigen, kan het gemakkelijker zijn om eerst alle bestaande rechten in te trekken en vervolgens de nieuwe rechten toe te kennen. Om alle rechten van een gebruiker in te trekken, gebruik: REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'newuser'@'localhost';

Verleen vervolgens de nieuwe set privileges zoals nodig: GRANT SELECT, UPDATE ON exampledb.* TO 'newuser'@'localhost';

Vergeet niet de privileges te legen na het maken van deze wijzigingen: FLUSH PRIVILEGES;

Hoe Een MySQL-Gebruiker Te Verwijderen

  1. Meld je aan bij de MySQL-server als de root-gebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Voer je root-wachtwoord in om verbinding te maken met de MySQL-server.
  3. Gebruik de DROP USER opdracht om het gebruikersaccount te verwijderen. Vervang newuser door de gebruikersnaam en localhost door de host van waaruit de gebruiker verbinding maakt: DROP USER 'newuser'@'localhost';
  4. Als de gebruiker vanaf elke host verbinding kan maken, gebruik dan: DROP USER 'newuser'@'%';
  5. Voordat je een gebruiker verwijdert, is het een goede gewoonte om zeker te zijn dat er geen objecten (zoals triggers of procedures) afhankelijk zijn van de gebruiker. Als je dit doet, kom je niet voor onverwachte problemen te staan nadat de gebruiker is verwijderd. Je kan afhankelijke objecten in je database bekijken en indien nodig het eigendom herassigneren.
  6. Hoewel de DROP USER opdracht het gebruikersaccount en zijn privileges verwijdert, is het verstandig om de privileges te legen om zeker te zijn dat alle wijzigingen onmiddellijk worden toegepast: FLUSH PRIVILEGES;

Hoe Gebruikers Tonen Voor Een MySQL Database

Het bekijken van alle gebruikers in je MySQL-database is een nuttige manier om gebruikersaccounts te beheren en te controleren. Zo weet je wie toegang heeft tot je database en wat hun rechten zijn.

Als je bekend bent met MySQL-commando’s, zou je kunnen denken dat er een SHOW USERS commando is — vergelijkbaar met de SHOW DATABASES of SHOW TABLES commando’s die je waarschijnlijk al kent en gebruikt. Echter, SHOW USERS bestaat niet.

Hoe zie je al je databasegebruikers? Volg deze stappen.

  1. Meld je aan bij de MySQL-server als de Root-gebruiker. Voer het volgende commando in: mysql -u root -p.
  2. Voer je Root-wachtwoord in om verbinding te maken met de MySQL-server.
  3. MySQL slaat gebruikersaccountinformatie op in de mysql.user tabel. Om alle gebruikersaccounts te bekijken, kun je de volgende SQL-query uitvoeren om een lijst van alle gebruikers en de hosts van waaruit zij kunnen verbinden weer te geven: SELECT user, host FROM mysql.user;
  4. Als je meer gedetailleerde informatie over elke gebruiker nodig hebt, zoals hun privileges of andere instellingen, kun je extra kolommen uit de mysql.user tabel opvragen. Bijvoorbeeld: SELECT user, host, authentication_string, plugin FROM mysql.user;
  5. Om specifieke gebruikers te filteren en te bekijken, kun je een WHERE clausule aan je query toevoegen. Bijvoorbeeld, om gebruikers te bekijken die verbinden vanaf localhost, gebruik: SELECT user, host FROM mysql.user WHERE host = 'localhost';

Gebruikers Beheren Met DreamHost

DreamHost bedieningspaneelmenu met opties waaronder Home, Websites en MySQL-databases gemarkeerd in blauw.

Als het idee van het gebruiken van command-line tools ontmoedigend lijkt, biedt het DreamHost Panel een gebruiksvriendelijk alternatief voor het beheren van MySQL-gebruikers.

Het DreamHost Panel is een webgebaseerde interface die het beheer van databases vereenvoudigt, zodat je geen opdrachtprompt hoeft te gebruiken.

Voor gedetailleerde handleidingen over het benaderen van je database, het toevoegen en verwijderen van gebruikers, het beheren van privileges en meer, bezoek onze Kennisbankpagina voor MySQL-databases.

Tablet die de DreamHost Kennisbank pagina over MySQL Databases toont, met pictogrammen van chatbubbels, servers en gebruikers eromheen.

En als je op zoek bent naar betrouwbare beheerde hosting voor je website die niet alleen databasebeheer eenvoudig maakt met een intuïtief bedieningspaneel, maar ook gratis migratie, 24/7 ondersteuning en uptime-garanties biedt – dan heb je DreamHost nodig.

Bekijk onze betaalbare hostingplannen en ontdek waarom miljoenen mensen en bedrijven voor ons kiezen!

Dedicated Hosting

Ultieme in Kracht, Beveiliging en Controle

Dedicated servers van DreamHost gebruiken de beste hardware en software die beschikbaar is om ervoor te zorgen dat je site altijd online is en altijd snel.

Zie Meer