Avatar billede tewee Nybegynder
02. september 2003 - 19:29 Der 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
--------------

- Pelle Ravn (TeWeE)
Avatar billede nikolajdu Nybegynder
02. september 2003 - 20:52 #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.

/Nikolaj
Avatar billede nikolajdu Nybegynder
02. september 2003 - 20:54 #2
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 :

$cfg['Servers'][$i]['auth_type']    = 'config';

Til :

$cfg['Servers'][$i]['auth_type']    = 'http';
Avatar billede nikolajdu Nybegynder
02. september 2003 - 20:56 #3
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.
Avatar billede tewee Nybegynder
02. september 2003 - 22:19 #4
Er koden rigtig til at oprette brugere med ?
Hvordan sletter jeg root helt ?

Ja undskyld, men jeg har ikke rodet med MySQL server før!
Avatar billede nikolajdu Nybegynder
02. september 2003 - 22:45 #5
Se nu behøver du slet ikke rode med koden som sådan. Når du logger ind første gang med "root" så trykker du på "priviligier" og siden tilføj bruger.

Når det så er gjort. Ændrer du conf filer og tester af om det dutter. Gør det det, så fjerner du root inde i privilegier.

/Nikolaj
Avatar billede nikolajdu Nybegynder
02. september 2003 - 22:50 #6
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.
Avatar billede janorakel Nybegynder
02. september 2003 - 22:53 #7
Kan du ikke bare lave en .htaccess og en .htpasswd-fil til DocumentRoot.
Du sparer en masse tid.
Avatar billede nikolajdu Nybegynder
02. september 2003 - 22:55 #8
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é.
Avatar billede tewee Nybegynder
02. september 2003 - 23:07 #9
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".
Avatar billede nikolajdu Nybegynder
03. september 2003 - 00:37 #10
Det gør du også under privilegier. Fremfor at give alle så giver du kun til en bestemt database under "Database-specific privileges"

/Nikolaj
Avatar billede tewee Nybegynder
03. september 2003 - 14:21 #11
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
-------------------------

Hvad gør jeg nu galt ?
Avatar billede nikolajdu Nybegynder
03. september 2003 - 14:30 #12
Det er fordi du først skal oprette brugeren eller logge ind med en anden bruger der har alle rettigheder for at kunne sætte begrænsningen.
Avatar billede tewee Nybegynder
03. september 2003 - 14:32 #13
Jamen jeg er logget ind som root, så jeg brude kunne rette det!
Avatar billede nikolajdu Nybegynder
03. september 2003 - 14:32 #14
REVOKE ALL PRIVILEGES ON `h` . * FROM "futte"@"localhost";

REVOKE GRANT OPTION ON `h` . * FROM "futte"@"localhost";

GRANT SELECT ,
INSERT ,

UPDATE ,
DELETE ,
CREATE ,
DROP ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ON `h` . * TO "futte"@"localhost";

Virker hos mig. :))
Avatar billede tewee Nybegynder
03. september 2003 - 14:44 #15
okay :|

Prøver mig lidt frem... Men den bruger man opretter skal ikke have fuld adgang vel?
Avatar billede tewee Nybegynder
03. september 2003 - 15:15 #16
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 ???
Avatar billede nikolajdu Nybegynder
03. september 2003 - 15:31 #17
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';

/Nikolaj
Avatar billede nikolajdu Nybegynder
03. september 2003 - 19:00 #18
Fik du det til at dutte :))
Avatar billede tewee Nybegynder
03. september 2003 - 19:35 #19
Ja :) du skal FANDME HAVE MANGE TAK DU SKAL :D *TAK TAK TAK TAK TAK TAK TAK TAK TAK TAK* nu virker min nye webhost :D det er fedt nok :D TAK IGEN :D
Avatar billede nikolajdu Nybegynder
03. september 2003 - 19:39 #20
Ro på manner :))

Tak for point :))
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