*   >> Læs Uddannelse artikler >> science >> programming

Tildeling privilegier på deres niveauer i Mysql

NSERT, SELECT på supermarket.products til 'john "@" localhost "; Denne erklæring giver privilegier kun for produkter tabellen. Hvis du vil have de privilegier alle tabellerne i databasen supermarkedet, der skal ydes, så ville du skrive: tilskud INSERT, SELECT på supermarked * til "john" @ "localhost";. Bemærk brugen af ​​stjernen ved positionen i tabellen i meddelelsen (dot før det er altid der). I "supermarked. *" Stjernen betyder alle tabeller i supermarkedet. Antag produkterne bord har kolonnerne: ProductName, Produktkategori og leastSellingPrice.

Du kan give en ekspedient INSERT, SELECT privilegier som følger: tilskud INSERT (ProductName, Produktkategori), SELECT (leastSellingPrice) på supermarked * at "degnen" @ "localhost";. Du bør ikke give ekspedienten INSERT eller UPDATE kolonne privilegium på leastSellingPrice kolonnen, fordi han kan drage fordel af dette og begå underslæb penge i det lange løb. Så du skriver kolonnenavne til en bestemt privilegium i parentes, og adskil dem med kommaer. I nogle situationer, du er nødt til at gå forud for kolonnenavnet med navnet på bordet og en dot.

Privileges af lavere niveau givet på højere niveau Hvert niveau har sine egne privilegier er relevante for dette niveau. Du kan give privilegier et lavere niveau på et højere niveau. Imidlertid vil de privilegier stadig virke på det lavere niveau objekter, der er under det øvre niveau (den pågældende genstand). Overvej følgende erklæring: Grant SLET, INSERT, SELECT, UPDATE på hisdB * til "john" @ "localhost";. De privilegier her er tabelniveau privilegier, der er blevet givet på databasen niveau (hisDb - Glem ikke prikken efter databasen position i redegørelsen).

Så de privilegier vil handle på bordene inde i hisdB databasen og ikke på hisdB tom database. En database-niveau privilegium (f.eks DROP (database)) optræder på en database, hvorvidt det har tabeller. Lavere privilegier, givet på et højere niveau, handle på de nederste objekter inde i objektet højere niveau og ikke på de højere level.Effects for at give lavere niveau privilegier på højere niveauer Her er et citat fra MySQL Manuel: »De privilegier for en database, tabel, kolonne, eller rutine dannes additivt som logisk OR for de privilegier på hvert af de privilegium niveauer.

For eksempel, hvis en bruger har en global SELECT privilegium, det privilegium kan ikke nægtes af et fravær af det privilegium på databasen, bord, eller kolonne-niveau. «Citatet betyder for eksempel, at hvis du giver en bruger INSERT priv

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.