Met CREATE USER kunt u nieuwe accounts aanmaken in MariaDB. Gebruik GRANT om ge­brui­kers­rech­ten te de­fi­ni­ë­ren. Als u een nieuwe gebruiker wilt toevoegen, hebt u be­heer­ders­rech­ten nodig.

Staps­ge­wij­ze in­struc­ties voor het gebruik van CREATE USER in MariaDB

De CREATE USER -in­struc­tie wordt in MariaDB gebruikt om een nieuwe gebruiker aan te maken. De af­zon­der­lij­ke stappen die u moet uitvoeren, worden hier weer­ge­ge­ven.

Stap 1: Maak ver­bin­ding met MariaDB

Aangezien nieuwe ge­brui­kers recht­streeks in MariaDB worden aan­ge­maakt, moet u eerst ver­bin­ding maken met de database. Open de MariaDB-op­dracht­re­gel en log in met uw ge­brui­kers­naam en wacht­woord. Zorg ervoor dat uw account be­heer­ders­rech­ten heeft.

Stap 2: Gebruik CREATE USER

Gebruik nu CREATE USER om een nieuwe gebruiker aan te maken in MariaDB. De syntaxis is als volgt:

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

Vervang de plaats­hou­der ‘ge­brui­kers­naam’ door de gewenste ge­brui­kers­naam. Deze moet uniek zijn binnen de ser­ve­r­om­ge­ving. Vervang ‘hostnaam’ door de bij­be­ho­ren­de hostnaam of het IP-adres van uw server, gevolgd door een veilig wacht­woord voor dit account.

Stap 3: Ge­brui­kers­rech­ten con­fi­gu­re­ren

De volgende stap is om de nieuwe gebruiker ge­brui­kers­rech­ten te geven. Deze bepalen wat een gebruiker in het systeem kan doen. Hieronder vindt u een meer ge­de­tail­leer­de uitleg over ge­brui­kers­rech­ten. Gebruik de GRANT om rechten toe te wijzen. Dit is de syntaxis:

GRANT ALL PRIVILEGES ON database.table TO 'username'@'hostname';
sql

Vermeld na de GRANT de rechten die het account moet krijgen. Deze worden van elkaar ge­schei­den door komma’s. ‘Database.table’ kan bij­voor­beeld verwijzen naar een spe­ci­fie­ke database of in­di­vi­du­e­le tabellen, of van toe­pas­sing zijn op het hele systeem met *.*. Gebruik in plaats van de tij­de­lij­ke aan­dui­ding ‘ge­brui­kers­naam@hostnaam’ de gebruiker en hostnaam van de nieuwe gebruiker.

Stap 4: Ge­brui­kers­rech­ten instellen

Nadat u ge­brui­kers­rech­ten hebt toe­ge­we­zen, gebruikt u de FLUSH PRIVILEGES -in­struc­tie om deze direct toe te passen. Het commando ziet er als volgt uit:

FLUSH PRIVILEGES;
sql

Stap 5: Inloggen

De nieuwe gebruiker kan nu inloggen op de MariaDB-server. Hiervoor heeft de nieuwe gebruiker alleen de ge­brui­kers­naam en het bij­be­ho­ren­de wacht­woord voor het account nodig. Om een account te ver­wij­de­ren, kunt u het commando DROP USER gebruiken. Net als bij CREATE USER heeft u hiervoor be­heer­ders­rech­ten nodig.

Hoe ge­brui­kers­rech­ten toewijzen

Pri­vi­le­ges bepalen welke acties ge­brui­kers kunnen uitvoeren in MariaDB. Hoewel de beheerder alle rechten heeft, is het be­lang­rijk om de ge­brui­kers­rech­ten voor andere accounts te beperken, anders kunnen er be­vei­li­gings­pro­ble­men ontstaan. De meest voor­ko­men­de ge­brui­kers­rech­ten zijn:

  • ALL: Voorziet een account van alle rechten behalve GRANT OPTION
  • GRANT OPTION: Geeft een account dezelfde rechten als uw account
  • SELECT: Verleent toegang tot databases of tabellen
  • INSERT: Staat een account toe om nieuwe rijen aan een tabel toe te voegen
  • UPDATE: Staat een account toe om rijen bij te werken
  • DELETE: Staat een account toe om rijen te ver­wij­de­ren
  • CREATE: Staat een account toe om nieuwe tabellen of databases aan te maken
  • ALTER: Staat een account toe om de structuur van een tabel te wijzigen
  • DROP: Een account toestaan om tabellen of databases te ver­wij­de­ren

Als u reeds toe­ge­ken­de ge­brui­kers­rech­ten wilt wijzigen, kunt u het commando REVOKE gebruiken. Om een overzicht te krijgen van de rechten die u aan een account hebt toegekend, kunt u het commando SHOW GRANTS FOR gebruiken.

Hoe gebruik je OR REPLACE en IF NOT EXISTS met CREATE USER?

Als u een nieuw account wilt aanmaken en er bestaat al een gebruiker met dezelfde naam, krijgt u een fout­mel­ding. Om dit probleem te voorkomen, biedt MariaDB twee clausules voor CREATE USER: OR REPLACE en IF NOT EXISTS.

De syntaxis van OR REPLACE is:

CREATE OR REPLACE USER 'username'@'hostname' IDENTIFIED BY 'password';
sql

Dit is een korte versie hiervan:

DROP USER IF EXISTS 'username'@'hostname'; 
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
sql

Het systeem con­tro­leert of er al een gebruiker bestaat met de naam die u voor het nieuwe ge­brui­kers­ac­count wilt gebruiken. Als dit het geval is, wordt het oude account vervangen door het nieuwe. Als er geen over­een­kom­sti­ge gebruiker is, wordt een nieuw account aan­ge­maakt.

Dit is de syntaxis voor IF NOT EXISTS:

CREATE USER IF NOT EXISTS 'username'@'hostname' IDENTIFIED BY 'password';
sql

Ook hier con­tro­leert het systeem of er al een account met dezelfde naam bestaat. Als dat het geval is, krijg je een waar­schu­wing en wordt het account over­schre­ven. Als er geen gebruiker met die naam bestaat, wordt er een nieuw ge­brui­kers­ac­count aan­ge­maakt.

Ga naar hoofdmenu