Zoeken op website

Het toevoegen van een nieuwe MySQL-gebruiker is eenvoudig: een complete gids


Deze tutorial laat je zien hoe je een nieuwe gebruiker aan MySQL kunt toevoegen en verschillende soorten rechten aan een MySQL-database kunt verlenen.

Als je nieuw bent in MySQL of een opfriscursus nodig hebt over het toevoegen van een nieuwe gebruiker en het verlenen van toegangsrechten, ben je hier aan het juiste adres. MySQL Server stelt u in staat om meerdere gebruikersaccounts aan te maken en de juiste rechten te verlenen, zodat de gebruikers toegang hebben tot databases en deze kunnen beheren, zodat alleen geautoriseerde gebruikers specifieke acties kunnen uitvoeren.

Dus als je eenmaal MySQL op de server hebt geïnstalleerd, moet je een database en extra gebruikersaccounts maken. Deze handleiding helpt u bij het toevoegen van een nieuwe MySQL-gebruiker en het verlenen van de nodige toegangsrechten.

Om de opdrachten die in deze handleiding worden weergegeven uit te voeren, moet u zich eerst aanmelden bij de MySQL-server met het MySQL-rootaccount.

mysql -u root -p

Hoe maak je een nieuwe MySQL-gebruiker aan?

Met de instructie CREATE USER wordt een nieuwe gebruiker gemaakt in de MySQL-databaseserver. Hier is de basissyntaxis van de verklaring:

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

Vervang de gebruikersnaam en het wachtwoord door de gewenste gebruikersnaam en het wachtwoord in de bovenstaande syntaxis.

Stel de hostnaam in op localhost als u wilt dat de gebruiker alleen verbinding kan maken met MySQL Server vanaf de localhost, wat 'deze computer' betekent. Als u wilt dat de gebruiker verbinding kan maken vanaf elke host, gebruikt u het jokerteken % als hostnaam.

We maken bijvoorbeeld een gebruiker aan met de naam james en het wachtwoord MyStrongPass123 met behulp van de volgende opdracht:

CREATE USER 'james'@'localhost' IDENTIFIED BY 'MyStrongPass123';

Deze gebruiker kan echter pas met de MySQL-databases werken als hij of zij extra rechten heeft gekregen.

Rechten verlenen aan een MySQL-gebruiker

Nadat we de nieuwe gebruiker met succes hebben aangemaakt, kunnen we rechten toekennen aan deze nieuwe gebruiker. In de meeste gevallen geeft u rechten aan MySQL-gebruikers op basis van de specifieke database waartoe het account toegang moet hebben.

Er kunnen meerdere typen rechten worden verleend aan een gebruikersaccount. U kunt hier een volledige lijst vinden van de rechten die door MySQL worden ondersteund.

  • ALLE PRIVILEGES – Verleent alle privileges aan een gebruikersaccount.
  • ALTER – De gebruiker kan de structuur van een tabel of database wijzigen.
  • CREATE – Het gebruikersaccount is toegestaan om databases en tabellen te maken.
  • DROP – Het gebruikersaccount is toegestaan om databases en tabellen te droppen.
  • VERWIJDEREN – Het gebruikersaccount mag rijen uit een specifieke tabel verwijderen.
  • INVOEGEN – Het gebruikersaccount mag rijen invoegen in een specifieke tabel.
  • SELECTEER – Het gebruikersaccount mag een database lezen.
  • UPDATE – Het gebruikersaccount mag tabelrijen bijwerken.

Als u een gebruiker toegang wilt geven tot de MySQL-database en machtigingen wilt geven, moet u over het algemeen de volgende GRANT-instructie gebruiken:

GRANT permission_type ON privilege_level TO 'username'@'hostname'; 

Als u bijvoorbeeld alle bevoegdheden wilt verlenen aan de gebruiker james in de jamesdb-database, gebruikt u de volgende opdracht:

GRANT ALL PRIVILEGES ON jamesdb.* TO 'james'@'localhost';

Typ echter het volgende om alleen SELECT- en INSERT-bevoegdheden te verlenen aan de gebruiker james in de jamesdb-database:

GRANT SELECT, INSERT ON jamesdb.* TO 'james'@'localhost';

Bovendien, als u geen toegang wilt verlenen tot de hele database, maar alleen tot een enkele tabel, kunt u dit bereiken zoals hieronder weergegeven.

Laten we bijvoorbeeld alleen SELECT-rechten toekennen aan de gebruiker james voor de salaristabel in de database van de werknemer:

GRANT SELECT ON employees.salaries TO 'james'@'localhost';

Een nieuwe MySQL Superuser aanmaken

In sommige situaties moet u mogelijk een superuser maken met machtigingen die vergelijkbaar zijn met die van de MySQL-rootgebruiker.

Dus, om een gebruiker dezelfde privileges te verlenen als de MySQL root-gebruiker, gebruik je de volgende opdracht, die globale privileges geeft aan de gebruiker james die verbinding maakt via localhost:

GRANT ALL ON *.* TO 'james'@'localhost' WITH GRANT OPTION;

Het wachtwoord van een MySQL-gebruikersaccount wijzigen

Stel dat u het wachtwoord wilt wijzigen voor de james-gebruiker die verbinding maakt van de localhost naar NewStrongPass123, dan moet u de volgende SQL-instructie uitvoeren:

ALTER USER 'james'@'localhost' IDENTIFIED BY 'NewStrongPass123';

Zorg er in de bovenstaande SQL-instructie voor dat u james wijzigt met uw databasegebruiker en localhost met de host van de gebruiker.

Bovendien, als u uw MySQL-rootwachtwoord bent vergeten en niet zeker weet hoe u het opnieuw moet instellen, raadpleeg dan onze gids over dit onderwerp.

Toon Privileges voor een gebruiker in MySQL

In MySQL kunt u de opdracht SHOW GRANTS gebruiken om alle subsidie-informatie voor een gebruiker weer te geven. Laten we enkele voorbeelden nemen.

In de volgende instructie wordt de instructie SHOW GRANTS gebruikt om de bevoegdheden weer te geven die aan de huidige gebruiker zijn verleend:

SHOW GRANTS;

Om de toekenningen voor een MySQL-gebruiker te bekijken, kunt u SHOW GRANTS gebruiken terwijl u de gebruikersnaam opgeeft:

SHOW GRANTS FOR 'james'@'localhost';

Privileges van een MySQL-gebruikersaccount intrekken

De syntaxis voor het intrekken van een of meer rechten van een gebruikersaccount is vrijwel identiek aan die voor het toekennen van bevoegdheden.

Als u bevoegdheden van de gebruiker james op een jamesdb-database wilt intrekken, past u de syntaxis toe die vergelijkbaar is met de syntaxis die u hebt gebruikt bij het verlenen van machtigingen:

REVOKE ALL PRIVILEGES ON jamesdb.* FROM 'james'@'localhost';

Gebruiker verwijderen uit MySQL

In plaats van de rechten in te trekken, wilt u misschien die gebruiker verwijderen. U kunt dus een databasegebruiker verwijderen met behulp van de volgende opdracht:

DROP USER 'james'@'localhost';

De bovenstaande opdracht verwijdert de gebruikersjames en al zijn privileges.

Uw wijzigingen opslaan

Als laatste stap gebruikt u de opdracht FLUSH PRIVILEGES telkens wanneer u de machtiging bijwerkt of wijzigt.

FLUSH PRIVILEGES;

Conclusie

Het toevoegen van een nieuwe MySQL-gebruiker en het verlenen van toegangsrechten is cruciaal voor het beheren van uw database en ervoor zorgen dat alleen geautoriseerde gebruikers specifieke acties kunnen uitvoeren. Na het voltooien van deze zelfstudie zou u moeten weten hoe u nieuwe gebruikers kunt toevoegen en hen verschillende machtigingen kunt verlenen in een MySQL-database.

Gebruik altijd sterke, unieke wachtwoorden voor uw gebruikers om de beveiliging te verhogen en overweeg indien nodig machtigingen in te trekken of te wijzigen. Met wat oefening ben je in een mum van tijd een pro in het toevoegen en beheren van MySQL-gebruikers.

Als je vragen of feedback hebt, voel je vrij om te reageren.

Gerelateerde artikelen: