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.

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

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.

Visa signatur

Brass knuckles and a 2x4

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

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

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.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

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.

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

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

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

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).