Avatar billede blowfish Nybegynder
24. juni 2001 - 22:10 Der er 21 kommentarer og
1 løsning

brugere

Okay, jeg er nu ved at være pænt træt af det her.. jeg har efter lang tid fundet ud af hvordan jeg laver brugere, men hvordan laver jeg sådan at hver bruger KUN kan se sin egen database? (og jeg bruger phpmyadmin)...
Avatar billede gizmo-gizmo Nybegynder
24. juni 2001 - 22:12 #1
se sin egen database?
hvad mener du?
Avatar billede blowfish Nybegynder
24. juni 2001 - 22:13 #2
jah, altså når jeg logger på mysql i phpmyadmin med mit nye brugernavn og password så kan jeg se alle databaserne på serveren.. u know
Avatar billede gizmo-gizmo Nybegynder
24. juni 2001 - 22:14 #3
jap, på den måde ... kan desværre ikke hjælpe så :(
Avatar billede henrik_ffc Nybegynder
24. juni 2001 - 22:22 #4
Avatar billede henrik_ffc Nybegynder
24. juni 2001 - 22:25 #5
Hov havde ikke lige set at brugte phpmyadmin....

I så fald skal du lave ændringerne i \"mysql\"-databasen manuelt og derefter lave en reload for at indlæse/aktivere de nye privileger
Avatar billede blowfish Nybegynder
24. juni 2001 - 23:07 #6
har jeg prøvet :(
Avatar billede henrik_ffc Nybegynder
24. juni 2001 - 23:43 #7
OK, hvad går der galt.
Har brugerne for mange rettigheder?
Kan de se tabeller/databaser de ikke må?

Forklar ellers kan jeg ikke uddybe
Avatar billede chruker Nybegynder
25. juni 2001 - 01:30 #8
Jeg er rimelig sikker på at du ikke kan lave det sådan at bruger kun kan se sin egen database. Derimod kan det sagtens laves således at brugeren kun kan bruge sin egen database - altså se tabeller, lave INSERT, UPDATE, SELECT.

Jeg bruger udelukkende user og db tabellerne når jeg skal sætte en bruger op. Brugeren oprettets i user tabellen med brugernavn og password. Host sættes normalt til localhost medmindre brugeren skal kunne connecte eksternt til databasen. Alle permissions sættes på N - medmindre brugeren skal kunne specielle ting som at genstarte serveren.

Herefter oprettes der en post i db tabellen med brugernavnet og navnet på databasen, samt host = %  Alle permissions sættes Y pånær Grant og References - skal der være flere begrænsninger på adgangen, kan man jo sætte dem som man har lyst.

Endelig kan du selvfølgelig ... så nu lykkedes det mig lige at få nutella på alle fingrene ... du kan også bruge de andre tabeller til at lave mere udspekuleret adgang - sæt det dog så striks som muligt og vær varsom med at give grant privilege.

Sikken en smøre og så besvare det meste af det ikke dit spørgsmål :-)
Avatar billede defrost Nybegynder
25. juni 2001 - 08:41 #9
Du skal sætte variablen safe_show_databases til ON. Det gør du ved at have følgende i enten /etc/my.cnf eller c:\\my.cnf (alt efter om du bruger *nix eller windows):

[mysqld]
set-variable = safe_show_database=ON

Og så skal mysql genstartes for at ændringen træder i kraft. Derefter kan brugere kun se de databaser, de har adgang til.
Avatar billede blowfish Nybegynder
25. juni 2001 - 10:52 #10
defrost > det ser ud som om du har fat i noget der! :).. jeg kører Windows.. men når jeg har kopieret filen my-example.cnf til C:\\ og det sker der stadig ikke noget.. under [mysqld] stod der i forvejen:

port=3306
#socket=MySQL
skip-locking
default-character-set=latin1
set-variable = key_buffer=16M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=128K
set-variable = flush_time=1800

men så satte jeg bare set-variable = safe_show_database=ON ind.. right ik?

anyway, når jeg har genstartet mysql, og sat brugerne op med brugernavn, password og database og det kan jeg stadig se alle databaser :(
Avatar billede defrost Nybegynder
25. juni 2001 - 10:55 #11
Prøv lige at skrive outputtet af følgende SQL-sætning:

show variables like \'safe_%\';
Avatar billede blowfish Nybegynder
25. juni 2001 - 11:02 #12
Ups, sorry det var mig der fuckede up i det! Okay, nu kan jeg ikke se de andre databaser.. eller jeg kan i hvertfald ikke se hvad der er i dem, men jeg kan se hvilke databaser der findes.. kan det ændres?
Avatar billede defrost Nybegynder
25. juni 2001 - 11:05 #13
Huh?

Det fik jeg ikke lige fat i??!? :)

Får du en liste over alle databaser med kommandoen \"show databases\"? Eller hvad er problemet?
Avatar billede blowfish Nybegynder
25. juni 2001 - 11:10 #14
*SS* Jep det kan du tro.. altså jeg bruger phpMyAdmin, så der kommer jo også en liste *S*.. men jeg har set på forskellige hosts (så som Azero), at med kommandoen show databases kommer der kun ens egen... any ideas? :)
Avatar billede defrost Nybegynder
25. juni 2001 - 11:13 #15
Vel. Det var det, at safe_show_database=ON skulle klare.

Sikker på, at du har sat rettighederne korrekt op?
Avatar billede blowfish Nybegynder
25. juni 2001 - 11:15 #16
Jep rettighederne skulle være perfekte.. altså, jeg kan heller ikke se hvilke tables der er i andre databaser end min egen, men jeg kan se hvilke databaser der findes...
Avatar billede defrost Nybegynder
25. juni 2001 - 11:16 #17
Og show variables like \'safe_%\' viser ON?

Avatar billede blowfish Nybegynder
25. juni 2001 - 11:17 #18
Okay, nu tænder jeg snart af! *G* Den viser OFF nu! havde da ellers sat den til ON i my.cnf ??

Har du ICQ? ;)
Avatar billede defrost Nybegynder
25. juni 2001 - 11:33 #19
ja.. Kig på mit minisite.
Avatar billede defrost Nybegynder
25. juni 2001 - 12:14 #20
Vi fandt ud af det via ICQ.

I my.cnf skal der stå.

[mysqld]
safe-show-database

Og mysql genstartes.. Voila. :)
Avatar billede henrik_ffc Nybegynder
25. juni 2001 - 13:47 #21
Ikke
safe-show-database=ON

men kun
safe-show-database

?
Avatar billede defrost Nybegynder
25. juni 2001 - 13:48 #22
Henrik_ffc -> Korrekt.
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