Med CREATE USER kan du oprette nye konti i MariaDB. For at definere bru­ger­ret­tig­he­der skal du bruge GRANT. Hvis du vil tilføje en ny bruger, skal du have ad­mi­ni­stra­tor­ret­tig­he­der.

Trin-for-trin vej­led­ning til brug af CREATE USER i MariaDB

CREATE USER bruges i MariaDB til at oprette en ny bruger. De enkelte trin, du skal udføre, vises her.

Trin 1: Opret for­bin­del­se til MariaDB

Da nye brugere oprettes direkte i MariaDB, skal du først oprette for­bin­del­se til databasen. Åbn MariaDB-kom­man­do­linj­en og log ind med dit bru­ger­navn og din ad­gangs­ko­de. Sørg for, at din konto har ad­mi­ni­stra­tor­ret­tig­he­der.

Trin 2: Brug CREATE USER

Brug nu CREATE USER til at oprette en ny bruger i MariaDB. Syntaksen er som følger:

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

I stedet for plads­hol­de­ren “bru­ger­navn” skal du indtaste det ønskede bru­ger­navn. Dette skal være unikt inden for ser­ver­mil­jø­et. Erstat “værtsnavn” med det til­sva­ren­de værtsnavn eller IP-adressen på din server ef­ter­fulgt af en sikker ad­gangs­ko­de til denne konto.

Trin 3: Kon­fi­gu­rer bru­ger­ret­tig­he­der

Det næste trin er at tildele den nye bruger bru­ger­ret­tig­he­der. Disse definerer, hvad en bruger kan gøre i systemet. En mere de­tal­je­ret for­kla­ring af bru­ger­ret­tig­he­der findes nedenfor. Brug GRANT til at tildele ret­tig­he­der. Her er syntaksen:

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

Efter GRANT skal du angive de ret­tig­he­der, som kontoen skal have. Disse adskilles fra hinanden med kommaer. For eksempel kan ‘database.table’ henvise til en bestemt database eller in­di­vi­du­el­le tabeller eller gælde for hele systemet med *.*. I stedet for plads­hol­de­ren ‘username@hostname’ skal du bruge brugeren og vært­s­nav­net for den nye bruger.

Trin 4: Opret bru­ger­ret­tig­he­der

Når du har tildelt bru­ger­ret­tig­he­der, skal du bruge kom­man­do­en FLUSH PRIVILEGES til at anvende dem direkte. Kom­man­do­en ser således ud:

FLUSH PRIVILEGES;
sql

Trin 5: Log ind

Den nye bruger kan nu logge ind på MariaDB-serveren. For at gøre dette behøver den nye bruger kun bru­ger­nav­net og den til­hø­ren­de ad­gangs­ko­de til kontoen. For at slette en konto kan du bruge kom­man­do­en DROP USER. Ligesom med CREATE USER skal du have ad­mi­ni­stra­tor­ret­tig­he­der for at gøre dette.

Sådan tildeles bru­ger­ret­tig­he­der

Pri­vil­e­gi­er bestemmer, hvilke hand­lin­ger brugerne kan udføre i MariaDB. Mens ad­mi­ni­stra­tor­bru­ge­ren har alle ret­tig­he­der, er det vigtigt at begrænse bru­ger­ret­tig­he­der­ne for andre konti, da der ellers kan opstå sik­ker­heds­pro­ble­mer. De mest al­min­de­li­ge bru­ger­ret­tig­he­der er:

  • ALL: Tildeler en konto alle ret­tig­he­der undtagen GRANT OPTION
  • GRANT OPTION: Giver en konto de samme til­la­del­ser som din konto
  • SELECT: Giver adgang til databaser eller tabeller
  • INSERT: Tillader en konto at tilføje nye rækker til en tabel
  • UPDATE: Tillader en konto at opdatere rækker
  • DELETE: Tillader en konto at slette rækker
  • CREATE: Tillader en konto at oprette nye tabeller eller databaser
  • ALTER: Tillader en konto at ændre struk­tu­ren i en tabel
  • DROP: Tillader en konto at slette tabeller eller databaser

Hvis du vil ændre bru­ger­ret­tig­he­der, som du allerede har tildelt, kan du bruge kom­man­do­en REVOKE. For at få et overblik over de ret­tig­he­der, du har tildelt en konto, kan du bruge kom­man­do­en SHOW GRANTS FOR.

Sådan bruges OR REPLACE og IF NOT EXISTS sammen med CREATE USER

Hvis du vil oprette en ny konto, og der allerede findes en bruger med samme navn, får du en fejl­med­del­el­se. For at undgå dette problem tilbyder MariaDB to klausuler til CREATE USER: OR REPLACE og IF NOT EXISTS.

Syntaksen for OR REPLACE er:

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

Dette er en kort form af dette:

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

Systemet kon­trol­le­rer, om der allerede findes en bruger med det navn, du ønsker at bruge til den nye bru­ger­kon­to. Hvis dette er tilfældet, erstattes den gamle konto med den nye. Hvis der ikke findes en til­sva­ren­de bruger, oprettes en ny konto.

Dette er syntaksen for IF NOT EXISTS:

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

Også her kon­trol­le­rer systemet, om der allerede findes en konto med det på­gæl­den­de navn. Hvis dette er tilfældet, modtager du en ad­var­sels­med­del­el­se, og kontoen over­skri­ves. Hvis der ikke findes en sådan bruger, oprettes en ny bru­ger­kon­to.

Gå til ho­ved­me­nu­en