Hur man använder CREATE USER i MariaDB
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';sqlIstä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';sqlEfter 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;sqlSteg 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 utomGRANT OPTIONGRANT OPTION: Ger ett konto samma behörigheter som ditt kontoSELECT: Ger åtkomst till databaser eller tabellerINSERT: Tillåter ett konto att lägga till nya rader i en tabellUPDATE: Tillåter ett konto att uppdatera raderDELETE: Tillåter ett konto att ta bort raderCREATE: Tillåter ett konto att skapa nya tabeller eller databaserALTER: Tillåter ett konto att ändra strukturen på en tabellDROP: 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';sqlDetta är en kortform av detta:
DROP USER IF EXISTS 'username'@'hostname';
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';sqlSystemet 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.