Avatar billede martinwa Nybegynder
15. april 2009 - 15:32 Der er 12 kommentarer og
1 løsning

MySQL bruger som KUN har adgang til een database

Jeg er ikke den store ekspert i mysql og er derfor løbet ind i et problem.
Hvordan kan jeg oprette en mysql bruger som kun har adgang til én database?

Når jeg i webmin sætter retigheder virker det lidt som om at de retigheder man sætter gælder for alle databaser, men det kan vel ikke være rigtigt...?

sagen er den at jeg skal have en ekstern bruger på, som naturligvis ikke må kunde tilgå andet end en database. Ej heller se de andre hvis muligt.

På forhånd tak.
Martin
Avatar billede arne_v Ekspert
15. april 2009 - 15:53 #1
Du kan saette adgang for hver enkelt database i MySQL.

http://dev.mysql.com/doc/refman/5.1/en/grant.html

Jeg mener ogsaa at man kan goere det fra PHPMyAdmin.

Jeg aner ikke om man kan fra WebMin.
Avatar billede CCodam Nybegynder
15. april 2009 - 15:56 #2
#0 Du opretter først brugeren uden Globale Privilegier, derefter så går du ind under Privilegier igen, og vælger "Ret Privilegier" for den givne bruger.
Herinde under Database-specifikke privilegier kan du i dropdown menuen, vælge en database du vil sætte rettigheder op for, og afkrydser så de rettigheder brugeren skal have

Du må lige skrive, hvis du skal have den på engelsk i stedet :)
Avatar billede CCodam Nybegynder
15. april 2009 - 15:57 #3
Hov, jeg læser vist ikke så godt her ud på eftermiddagen...
Jeg troede du benyttede dig af phpmyadmin, og det er det, min guide i #2 er baseret på
Avatar billede martinwa Nybegynder
15. april 2009 - 16:07 #4
Tak for svar.
Hvis jeg kigger i phpmyadmin, så holder databaseadgangen op med at virke når jeg fjerner databasebrugeren fra "Globale privilegier". Selv om brugeren under "Database-specifikke privilegier" har alle retigheder.

Er der nogle "generelle" retigheder som brugeren som minimum skal have?
Avatar billede CCodam Nybegynder
15. april 2009 - 16:32 #5
#5 Skal din externe bruger benytte phpmyadmin? eller kun kunne tilgå databasen via scripts? :)
Avatar billede martinwa Nybegynder
15. april 2009 - 20:10 #6
Begge dele :)

Script, phpmyadmin samt post 3306 fjernadgang.
Avatar billede CCodam Nybegynder
15. april 2009 - 20:36 #7
#4 Den eneste Globale Privilegie han skal have er USAGE, det er ikke en der hos mig helt automatisk blir sat

Det kan dog være at din version er anderledes, sørg for at der under Prviligies, hvor du kan se listed med bruger, står at han har USAGE som Globale Privilegier :)
Avatar billede martinwa Nybegynder
15. april 2009 - 21:55 #8
På oversigten "User overview" står "USAGE" ud for den aktuelle bruger. Men det virker stadig ikke :-(

Men "USAGE" kan ikke vælges under "Global privileges", er det en fejl?

Andre årsager?
Avatar billede CCodam Nybegynder
15. april 2009 - 22:08 #9
#8 som jeg også skrev, er det noget den vælger automatisk, da alle jo skal have USAGE, og når han har dette, sammen med rettigheder til en database, så burde han fint kunne arbejde med denne...

Kan du evt. tage et screenshot inde under Ret Privilegier for hans bruger, og et billede hvordan det ser ud, når du logger ind med hans bruger...
Du kan uploade dem på fx www.peecee.dk
Avatar billede martinwa Nybegynder
15. april 2009 - 22:21 #10
Link 2 er når jeg er logget ind som brugeren der ikke skal have globale retigheder.
Kun DB'en "information_schema " er der retigheder til.


http://peecee.dk/upload/view/165173
http://peecee.dk/upload/view/165172
Avatar billede martinwa Nybegynder
15. april 2009 - 22:43 #11
hov nu virker det.

I webmin var jeg inde under "Edit Database Permissions". Her ændrede jeg "Hosts" fra "From host permissions " til "any".

Nu virker det. Når jeg logger ind i phpmyadmin som brugeren bliver kun han's DB vist.

Det er lidt underligt for nu er der kommet to brugere med samme navn i oversigten, se: http://peecee.dk/upload/view/165175

Er der en god grund til det?
Avatar billede CCodam Nybegynder
15. april 2009 - 22:58 #12
#11 Jeg tror du skal slette begge brugere og så lige starte forfra med at oprette ham, og sørge for den står til ANY (%), der burde ikke være 2 brugere...

Når den står til host, betyder det at han kun kan logge ind/har de rettigheder når han sidder lokalt på serveren...
Mens any betyder både localhost og http(udefra)
Avatar billede martinwa Nybegynder
16. april 2009 - 10:00 #13
Tak for svar, det virkede :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester