Med CREATE USER kan du skapa nya konton i MariaDB. För att definiera an­vän­dar­rät­tig­he­ter använder du GRANT. Om du vill lägga till en ny användare behöver du ad­mi­nist­ra­törs­rät­tig­he­ter.

Steg-för-steg-in­struk­tio­ner för an­vänd­ning av CREATE USER i MariaDB

Uttrycket CREATE USER används i MariaDB för att skapa en ny användare. De enskilda stegen du behöver utföra visas här.

Steg 1: Anslut till MariaDB

Eftersom nya användare skapas direkt i MariaDB måste du först ansluta till databasen. Öppna MariaDB-kom­man­do­ra­den och logga in med ditt an­vän­dar­namn och lösenord. Se till att ditt konto har ad­mi­nist­ra­törs­rät­tig­he­ter.

Steg 2: Använd CREATE USER

Använd nu CREATE USER för att skapa en ny användare i MariaDB. Syntaxen är följande:

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

Istället för plats­hål­la­ren “an­vän­dar­namn” anger du önskat an­vän­dar­namn. Detta måste vara unikt inom ser­vermil­jön. Ersätt “värdnamn” med mot­sva­ran­de värdnamn eller IP-adressen för din server, följt av ett säkert lösenord för detta konto.

Steg 3: Kon­fi­gu­re­ra an­vänd­ar­be­hö­rig­he­ter

Nästa steg är att tilldela den nya an­vän­da­ren an­vän­dar­rät­tig­he­ter. Dessa de­fi­ni­e­rar vad en användare kan göra i systemet. En mer de­tal­je­rad för­kla­ring av an­vän­dar­rät­tig­he­ter finns nedan. Använd kommandot GRANT för att tilldela rät­tig­he­ter. Här är syntaxen:

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

Efter GRANT anger du de rät­tig­he­ter som kontot ska ha. Dessa separeras från varandra med kom­ma­tec­ken. Till exempel kan “database.table” hänvisa till en specifik databas eller enskilda tabeller eller gälla hela systemet med *.*. Istället för plats­hål­la­ren “username@hostname” använder du an­vän­dar­nam­net och värd­nam­net för den nya an­vän­da­ren.

Steg 4: Fastställ an­vän­dar­rät­tig­he­ter

När du har tilldelat an­vän­dar­rät­tig­he­ter använder du kommandot FLUSH PRIVILEGES för att tillämpa dem direkt. Kommandot ser ut så här:

FLUSH PRIVILEGES;
sql

Steg 5: Logga in

Den nya an­vän­da­ren kan nu logga in på MariaDB-servern. För att göra detta behöver den nya an­vän­da­ren endast an­vän­dar­nam­net och mot­sva­ran­de lösenord för kontot. För att radera ett konto kan du använda kommandot DROP USER. Precis som med CREATE USER behöver du ad­mi­nist­ra­törs­rät­tig­he­ter för att göra detta.

Hur man tilldelar an­vän­dar­rät­tig­he­ter

Pri­vi­le­gi­er avgör vilka åtgärder användare kan utföra i MariaDB. Medan ad­mi­nist­ra­tö­ren har alla rät­tig­he­ter är det viktigt att begränsa an­vän­dar­rät­tig­he­ter­na för andra konton, annars kan sä­ker­hets­pro­blem uppstå. De van­li­gas­te an­vän­dar­rät­tig­he­ter­na är:

  • ALL: Förser ett konto med alla rät­tig­he­ter utom GRANT OPTION
  • GRANT OPTION: Ger ett konto samma be­hö­rig­he­ter som ditt konto
  • SELECT: Ger åtkomst till databaser eller tabeller
  • INSERT: Tillåter ett konto att lägga till nya rader i en tabell
  • UPDATE: Tillåter ett konto att uppdatera rader
  • DELETE: Tillåter ett konto att ta bort rader
  • CREATE: Tillåter ett konto att skapa nya tabeller eller databaser
  • ALTER: Tillåter ett konto att ändra struk­tu­ren på en tabell
  • DROP: Tillåter ett konto att ta bort tabeller eller databaser

Om du vill ändra an­vän­dar­rät­tig­he­ter som du redan har tilldelat kan du använda kommandot REVOKE. För att få en översikt över de rät­tig­he­ter du har beviljat ett konto kan du använda kommandot SHOW GRANTS FOR.

Hur man använder OR REPLACE och IF NOT EXISTS med CREATE USER

Om du vill skapa ett nytt konto och det redan finns en användare med samma namn får du ett fel­med­de­lan­de. För att undvika detta problem erbjuder MariaDB två klausuler för CREATE USER: OR REPLACE och IF NOT EXISTS.

Syntaxen för OR REPLACE är:

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

Detta är en kortform av detta:

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

Systemet kon­trol­le­rar om det redan finns en användare med det namn som du vill använda för det nya an­vän­dar­kon­tot. Om så är fallet ersätts det gamla kontot med det nya. Om det inte finns någon mot­sva­ran­de användare skapas ett nytt konto.

Detta är syntaxen för IF NOT EXISTS:

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

Även här kon­trol­le­rar systemet om det redan finns ett konto med mot­sva­ran­de namn. Om så är fallet får du ett var­nings­med­de­lan­de och kontot skrivs över. Om ingen sådan användare finns skapas ett nytt an­vän­dar­kon­to.

Gå till huvudmeny