MySQL med Phpmyadmin - alla användare ser varandras databaser!?

Permalänk

MySQL med Phpmyadmin - alla användare ser varandras databaser!?

Hej, hjälp mig här en snabbis,

Jag har ett system som kör MySQL med Phpmyadmin-interface. Jag som root sätter ju upp användare allt eftersom folk ska få sitt eget konto att logga in med och börja skapa.

Skapar jag en användare som heter 'test' t.ex, när han då loggar in vill jag att hans databas-lista ska vara tom. Han ska alltså bara se sina egna databaser och kunna skapa dom.

Som det är nu ser alla varandras. Och jag vet inte hur jag ska gå till väga. Det borde ju vara någonstans när man skapar användaren man ska bocka för något som inte ger tillåtelse visning av andras databaser.

Men hur?! Hjälp mig här, säkert en lätt match för er.

Tack på förhand.

EDIT: Jag har sökt på google i massor men inte hittat något. Snälla, hjälp mig.

Permalänk
Medlem

Enligt mina erfarenheter så ser man bara de databaser man har minst SELECT till.

Permalänk
Permalänk
Medlem

Du måste ge alla användare databasspecifika privilegier.

Permalänk

Hej och tackar för alla svar..

Lekt vidare nu och försökt på any single way att få det att fungera, men det vill fortfarande inte. safe-show-database i my.cnf hade ingen verkan alls.

Någon här som skulle kunna tänkas ställa upp och gå in i mitt system och kika på problemet? Vore såååå bussigt. Skicka PM? :?

Mvh

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jonasc
Du måste ge alla användare databasspecifika privilegier.

Läs den meningen ett par ggr till.

Du ska alltså ge varje användare specifika privilegier till just den databasen han ska ha hand om och sen ger du inte honmo några privilegier till någon annan databas. Allt detta kan du göra i phpmyadmin.

Permalänk
Testpilot

Fortsätter på det som tidigare talare sagt: Se till att du inte har valt något under globala privilegier, du ska enbart ställa in databasspecifika rättigheter.

Permalänk

Okej, tack på er.. Globala privilegier, nej tack. Endast priviligier till en specifik databas gjorde susen... Ganska så stor skillnad mellan globala och icke globala

Men då finns det ju ingen möjlighet för användaren att skapa nya databaser utan att tillfråga mig, va? Loopia kör väl med t.ex, "du får 2 databaser", då är det precis så här de gör va.

Permalänk
Medlem

Tänk på att det är skillnad mellan databaser och tabeller.
Ger du användaren tillgång till en tom databas och ger den rättigheter att skapa tabeller i denna så kan användaren ha hur många tabeller i den databasen som den vill. Han kan utan problem ha forum,bloggar osv utan att dessa krockar trots att det bara används en databas.

Det du vill kolla på är kommandot "grant" i MySQL. Där skapar du databasanvändare och sätter lösen och rättigheter.

Permalänk
Medlem

Ingen aning hur webbhotell gör detta, inte heller hur de sätter "maxstorlek" på databaserna.

Permalänk
Citat:

Ursprungligen inskrivet av iXam
Tänk på att det är skillnad mellan databaser och tabeller.
Ger du användaren tillgång till en tom databas och ger den rättigheter att skapa tabeller i denna så kan användaren ha hur många tabeller i den databasen som den vill. Han kan utan problem ha forum,bloggar osv utan att dessa krockar trots att det bara används en databas.

Det du vill kolla på är kommandot "grant" i MySQL. Där skapar du databasanvändare och sätter lösen och rättigheter.

Okej, tack för ditt svar. Precis vad jag undrade på och ville ha svar på. Så en databas kan innehålla blogg, forum och hela rubbet _ändå_. Då räcker det väl att jag ger varje användare EN databas att hålla på med vilket borde vara tillräckligt. Finns det några fördelar än att ge fler än 1 databas till varje användare eller bör det räcka?

Mvh

Permalänk
Medlem

Fördelen med flera databaser är att det kan bli mer lättöverskådligt samt att prestandankan bli snäppet bättre om man har enormt många tabeller (beroende på filsystem).
Generellt sett räcker det långt med en databas per användare då databasen troligen endast används till en enda websida men till flera olika system (blogg/forum osv).