Hvordan endre en MySQL Privilege Table

Det vil være ganger når flere brukere trenger tilgang til samme database, og da må du endre MySQL privilegium tabellen. Avhengig av brukernes behov, kan du gi begrenset eller full tilgang til databasen. MySQL gir en mekanisme for å gjennomføre den type endring i privilegietabellen bruker GRANT kommandoen.

Bruksanvisning

Endre en MySQL Privilege Table

1 Logg inn som root eller en annen admin bruker. Hvis du vil bruke GRANT kommandoen i MySQL, er det nødvendig å være root eller en annen priviligert bruker. Fra kommandolinjen MySQL klient, koble til databasen som root. Eksempel:
mysql -u root -h localhost

2 Bytt localhost med databasevert, med mindre du kjører MySQL server på samme datamaskin du bruker. Ellers bruker du vertsnavnet ditt MySQL server. Eksempel:
mysql -u root -h localhost -p

Grant "lese" Privilegier

3 Grant lese privilegier til en bruker hvis hun ikke trenger å endre noen data. For eksempel, hvis markedsavdelingen ønsker tilgang til din kundedatabase, kan du gi dem skrivebeskyttet tilgang til kundedatabasen.

4 Oppnå dette med den tredelte GRANT kommando fra root brukeren. For å endre rettighetene, må GRANT til å kommandere som har tilgangsrettigheter til hvilke databaser og tabeller, og hva passord de skal bruke til å logge inn. I dette eksemplet til GRANT kommandoen gir tillatelse bruke SELECT kommando på alle tabeller i customers_db database. Det gir tillatelse til brukeren "markedsføring" logge inn fra 'localhost' som er identifisert av passord 'some_password'. Eksempel:
GRANT SELECT ON customers_db.*
TO 'marketing'@'localhost'
IDENTIFIED BY 'some_password';

Grant 'skrive' Privilegier

5 Gi skriverettigheter til en bruker. Denne kommandoen tar samme form som tildeling lest privilegier, men legger til flere kommandoer med SELECT.

6 Identifiser hva slags privilegier brukeren trenger. Her kommandoen gir økonomiavdelingen tillatelse til å sette inn og UPDATE, samt velge data fra kundedatabaser. Eksempel:
GRANT SELECT,INSERT,UPDATE ON customers_db.*
TO 'accounting'@'localhost'
IDENTIFIED BY 'some_password';

Grant "admin" Privilegier

7 Gi administratorrettigheter til en bruker. Denne kommandoen gir tillatelser til å kjøre alle kommandoer.

8 Bruk denne kommandoen for å gi andre administratorer full kontroll over en database. Eksempel:
GRANT ALL PRIVILEGES ON customers_db.*
TO 'admin'@'localhost'
IDENTIFIED BY 'some_password'

Hint

  • På en standard installasjon, er det ingen passord på root brukeren. Når en er satt, må du bruke p-bryteren, så vel.
  • Begrense brukertilgang beskytter mot menneskelige feil, feil programvare og ondsinnede brukere. Dette betyr at nybegynnere eller en software bug ikke kan ved et uhell sletter alle data. Hvis noen får kontroll over en mindre konto, kan de ikke gjøre mye skade.