02. september 2003 - 19:29Der er
19 kommentarer og 1 løsning
Flere brugere i MySQL database ?
Hvordan sætter man sin phpmyadmin til at spørge om brugernavn og adgangskode, så den ikke logger ind som root hver gang ?
Når jeg opretter en bruger med: --------------------------------------------------- CREATE DATABASE 'user1_db';
GRANT ALL PRIVILEGES ON user1_db.* TO user1@localhost IDENTIFIED BY PASSWORD 'user1_pass' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON user1_db.* TO user1@'%' IDENTIFIED BY PASSWORD 'user1_pass' WITH GRANT OPTION; ---------------------------------------------------
får jeg fejlen: -------------- Fejl
SQL-forespørgsel :
CREATE DATABASE 'user1_db'
MySQL returnerede:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''user1_db'' at line 1 --------------
Hvis du sætter brugernavn till root uden password i din phpmyadmin kan du logge ind med denne og oprette de andre brugere. Bagefter kan du fjerne root helt.
Husk at lukke browseren helt ned inden du logger ind igen.
Hvis du vil have den til direkte at spørge om brugernavn og password er fremgangsmåden den samme dog med den undtagelse at du efter at have fjernet root skal ændre din config.inc.php der hvor der står :
Det skal lige siges at går der noget galt og du slet ikke kan logge ind igen, så skal du afinstallere mysql og fjerne my.ini filen i dit windows bibliotek. Genstarte og installere forfra.
GRANT ALL PRIVILEGES ON * . * TO "test"@"localhost"IDENTIFIED BY "***"WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
Sådan ser det ud for et bruger "test" hos mig med password "dut" - Passwordet er krypteret så brug hellere phpmyadmins egen funktion til at tilføje ny bruger. Hak så af i alle felterne og kør der´u ´af.
Det får han jo ikke ændret brugeren "root´s" priviligier af og han kan bare sætte $cfg['Servers'][$i]['auth_type'] = 'http'; så får han samme login box.
Men skal tewee kun selv have adgang til serveren så er det også en idé.
Okay! Nu virker det med loggin! takker! Men hvordan siger man så at den bruger KUN må få adgang til en database ? Fx. bruger "Bo", med password "mormor" må kun få adgang til databasen "Bo".
Du skal klart have pointne! Men bare et lille problem mere! Når jeg sætter brugeren tewee til kun at have adgang til databasen tewee, så siger den: ------------------------- Fejl
SQL-forespørgsel :
GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES ON `tewee` . * TO "tewee"@ "localhost";
MySQL returnerede:
#1133 - Can't find any matching row in the user table -------------------------
Hmm! Når jeg siger at tewee kun har adgang til en database kan han jo stadig se de andre databaser, det irritere mig lidt! Han skal starte i din egen database og ikke komme videre end det! Hvordan ???
Prøv at slette brugeren igen og opret helt uden privilegier. Altså bare indtaste brugernavn, localhost og password.
Log så ind med root og giv privilegier til den database "tewee" skal have adgang til.Log af og ind igen med den nye bruger. For at gøre sådan her SKAL du sætte $cfg['Servers'][$i]['auth_type'] = 'http';
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.