19. august 2005 - 22:58Der er
28 kommentarer og 1 løsning
mySQL: flere brugere med egen db
Jeg har mySQL installeret, og har kun en root-bruger. Hvordan opretter jeg flere bruer på serveren, hvor de kun har adgang til deres egen database. Hvis jeg laver en ny bruger med GRANT får de adgang til de samme databaser som root.
Jeg har logget ind som root i phpmyadmin, og oprettet databasen "utroligt_dk". Nu vil jeg gerne oprette en bruger med navnet "utroligt_dk", som kun har adgang til databasen "utroligt_dk". Før brugte jeg:
GRANT ALL PRIVILEGES ON *.* TO 'utroligt_dk'@'localhost' IDENTIFIED BY 'kode' WITH GRANT OPTION;
Denne giver adgang til samtlige databaser på serveren. Hvordan laver jeg sådan, at denne bruger "utroligt_dk" kun har adgang til én database, nemlig "utroligt_dk"?
$connection = mysql_connect("$server","$dbuser","$dbpasswd") or die("Unable to connect to database"); mysql_select_db("$dbname", $connection) or die("Unable to select database");
mysql_query("CREATE DATABASE utroligt_dk;");
mysql_query("GRANT ALL PRIVILEGES ON utroligt_dk TO 'utroligt_dk'@'localhost' IDENTIFIED BY 'kode' WITH GRANT OPTION"); ?>
Jeg har nu logget ind i phpmyadmin med "utroligt_dk" og kode "kode". Når jeg logger er der kun databasen "mysql" i venstre side, og trykker jeg på den, får jeg følgende fejl i main-framet: #1044 - Access denied for user 'utroligt_dk'@'localhost' to database 'mysql'
Men mysql skal jo heller ik være i venstre side..der skal jo kun være utroligt_dk.
Ups. jeg havde glemt ".*" efter navnet - som vi snakkede om før. Der er nu adgang til utroligt_dk, men databasen mysql er der stadig. Kan du forklare det?
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.