Android

Hvordan lage mysql-brukerkontoer og gi rettigheter

Ruby on Rails by Leila Hofer

Ruby on Rails by Leila Hofer

Innholdsfortegnelse:

Anonim

MySQL er det mest populære open source relasjonsdatabasestyringssystemet. MySQL server lar oss opprette mange brukerkontoer og gi passende rettigheter slik at brukere kan få tilgang til og administrere databaser.

Denne veiledningen beskriver hvordan du oppretter MySQL brukerkontoer og gir rettigheter.

Før du begynner

Vi antar at du allerede har MySQL eller MariaDB-server installert på systemet ditt.

Alle kommandoer blir utført i MySQL-skallet som root- eller administrasjonsbruker. Minimumsprivilegiene som kreves for å opprette brukerkontoer og definere privilegiene, er CREATE USER og GRANT .

For å få tilgang til MySQL-skallet, skriver du følgende kommando og skriver inn MySQL root-brukerpassordet når du blir bedt om det:

mysql -u root -p

Opprett en ny MySQL brukerkonto

En brukerkonto i MySQL består av brukernavn og vertsnavndeler.

Kjør følgende kommando for å opprette en ny MySQL-brukerkonto:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Bytt ut user_password plassholderverdi med det tiltenkte nye brukernavnet ditt, og plassholderverdien user_password med brukerpassordet.

I kommandoen over er vertsnavnsdelen satt til localhost , noe som betyr at brukeren bare vil kunne koble seg til MySQL-serveren fra localhost (dvs. fra systemet der MySQL Server kjører).

For å gi tilgang fra en annen vert, endrer du vertsnavnsdelen ( localhost ) med den eksterne maskinens IP. For å gi tilgang fra en maskin med IP 10.8.0.5 , vil du for eksempel kjøre:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Hvis du vil opprette en bruker som kan koble seg fra en hvilken som helst vert, bruker du jokertegnet '%' vertsdel:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Gi privilegier til en MySQL-brukerkonto

Det er flere typer privilegier som kan gis til en brukerkonto. Du kan finne en fullstendig liste over privilegier som støttes av MySQL her.

De mest brukte privilegiene er:

  • ALL PRIVILEGES - Gir alle rettigheter til en brukerkonto. CREATE - Brukerkontoen har lov til å lage databaser og tabeller. DROP - Brukerkontoen har lov til å slippe databaser og tabeller. DELETE - Brukerkontoen har lov til å slette rader fra en spesifikk tabell. INSERT - Brukerkontoen har lov til å sette inn rader i en spesifikk tabell. SELECT - Brukerkontoen har lov til å lese en database. UPDATE - Brukerkontoen har lov til å oppdatere tabellrader.

For å gi spesifikke rettigheter til en brukerkonto, kan du bruke følgende syntaks:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Her er noen eksempler:

  • Få alle rettigheter til en brukerkonto over en bestemt database:

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

    Få alle rettigheter til en brukerkonto på alle databaser:

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

    Få alle rettigheter til en brukerkonto over en spesifikk tabell fra en database:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

    Gi flere rettigheter til en brukerkonto over en bestemt database:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Vis MySQL-brukerprivilegier

For å finne rettighetene som er gitt til en spesifikk MySQL-brukerkonto, bruk SHOW GRANTS setningen:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Opphev privilegier fra en MySQL brukerkonto

Syntaksen for å oppheve ett eller flere privilegier fra en brukerkonto er nesten identisk som når du gir rettigheter.

For å tilbakekalle alle rettigheter fra en brukerkonto over en bestemt database, bruker du for eksempel følgende kommando:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Fjern en eksisterende MySQL-brukerkonto

For å slette en MySQL-brukerkonto bruker du DROP USER setningen:

DROP USER 'user'@'localhost'

Kommandoen over vil fjerne brukerkontoen og dens privilegier.

Konklusjon

Denne opplæringen dekker bare det grunnleggende, men det skal være en god start for alle som ønsker å lære å lage nye MySQL-brukerkontoer og gi rettigheter.

mysql mariadb