Med CREATE USER kan du skapa nya konton i MariaDB. För att definiera användarrättigheter använder du GRANT. Om du vill lägga till en ny användare behöver du administratörsrättigheter.

Steg-för-steg-instruktioner för användning 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-kommandoraden och logga in med ditt användarnamn och lösenord. Se till att ditt konto har administratörsrättigheter.

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 platshållaren “användarnamn” anger du önskat användarnamn. Detta måste vara unikt inom servermiljön. Ersätt “värdnamn” med motsvarande värdnamn eller IP-adressen för din server, följt av ett säkert lösenord för detta konto.

Steg 3: Konfigurera användarbehörigheter

Nästa steg är att tilldela den nya användaren användarrättigheter. Dessa definierar vad en användare kan göra i systemet. En mer detaljerad förklaring av användarrättigheter finns nedan. Använd kommandot GRANT för att tilldela rättigheter. Här är syntaxen:

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

Efter GRANT anger du de rättigheter som kontot ska ha. Dessa separeras från varandra med kommatecken. Till exempel kan “database.table” hänvisa till en specifik databas eller enskilda tabeller eller gälla hela systemet med *.*. Istället för platshållaren “username@hostname” använder du användarnamnet och värdnamnet för den nya användaren.

Steg 4: Fastställ användarrättigheter

När du har tilldelat användarrättigheter 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 användaren kan nu logga in på MariaDB-servern. För att göra detta behöver den nya användaren endast användarnamnet och motsvarande 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 administratörsrättigheter för att göra detta.

Hur man tilldelar användarrättigheter

Privilegier avgör vilka åtgärder användare kan utföra i MariaDB. Medan administratören har alla rättigheter är det viktigt att begränsa användarrättigheterna för andra konton, annars kan säkerhetsproblem uppstå. De vanligaste användarrättigheterna är:

  • ALL: Förser ett konto med alla rättigheter utom GRANT OPTION
  • GRANT OPTION: Ger ett konto samma behörigheter 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 strukturen på en tabell
  • DROP: Tillåter ett konto att ta bort tabeller eller databaser

Om du vill ändra användarrättigheter som du redan har tilldelat kan du använda kommandot REVOKE. För att få en översikt över de rättigheter 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 felmeddelande. 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 kontrollerar om det redan finns en användare med det namn som du vill använda för det nya användarkontot. Om så är fallet ersätts det gamla kontot med det nya. Om det inte finns någon motsvarande 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 kontrollerar systemet om det redan finns ett konto med motsvarande namn. Om så är fallet får du ett varningsmeddelande och kontot skrivs över. Om ingen sådan användare finns skapas ett nytt användarkonto.

Gå till huvudmeny