Avatar billede intel4004 Novice
21. maj 2003 - 10:19 Der er 12 kommentarer og
1 løsning

Oprette brugere i MySQL

Jeg har brug for at oprette brugere i MySQL vha. af PHP. Jeg er nogenlunde stærk indenfor PHP men syntaksen til MySQL-query'en er jeg lidt usikker på.

Jeg skal have oprettet en bruger med brugernavn "jens" og password "fisk". Brugeren skal have de mest normale privilegier på systemet, såsom at kunne SELECT, INSERT, UPDATE og DELETE. Hvilke privilegier er disse egentlig? Hvad skal en normal web-besøgende have lov til i de fleste tilfælde??

Brugeren (på mysql-serveren) som skal oprette andre brugere i PHP, har alle privilegier mulige - er dette nødvendigt?

Mvh Intel4004
Avatar billede tipsen Nybegynder
21. maj 2003 - 10:31 #1
Vil foreslå dig at læse afsnitttet om brugeradministration i MySQL-dok:

http://www.mysql.com/doc/en/User_Account_Management.html
Avatar billede intel4004 Novice
21. maj 2003 - 10:31 #2
Brugeren skal også kun have adgang til 1 enkelt database: "db_jens".
Avatar billede intel4004 Novice
21. maj 2003 - 10:57 #3
tipsen>
Har kigget på det men har brug for nogle eksempler :)

Intel4004
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:18 #4
Der er (masser af) eksempler.

Har selv lige brugt det som udgangspunkt for at oprette brugere og kunne intet i forvejen - brugte bare de eksempler der var og kombinerede dem med syntax'en.
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:19 #5
Fra: http://www.mysql.com/doc/en/Adding_users.html

mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
    ->    IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
    ->    IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:19 #6
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->    ON bankaccount.*
    ->    TO custom@localhost
    ->    IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->    ON expenses.*
    ->    TO custom@whitehouse.gov
    ->    IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->    ON customer.*
    ->    TO custom@'%'
    ->    IDENTIFIED BY 'stupid';
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:20 #7
Du kigger bare på linket, hvis du også vil have eksemplerne forklaret ;-)
Avatar billede intel4004 Novice
21. maj 2003 - 17:56 #8
Jeg har nu fået GRANT til at oprette en bruger fisk@localhost med rettighederne SELECT, INSERT, DELETE og UPDATE og på databasen fisk.

Jeg bruger følgende syntaks:

mysql_query("
  GRANT SELECT,INSERT,UPDATE,DELETE
  ON fisk.*
  TO fisk@localhost
  IDENTIFIED BY 'somepass'"
);

Jeg tænker på fisk.* som må betyde at fisk@localhost nu har adgang til databasen fisk, inkl. alle tabeller i denne... Har jeg ret??

Hvordan specificerer jeg yderligere hvilke tabeller?

Intel4004
Avatar billede tipsen Nybegynder
21. maj 2003 - 18:20 #9
det er automatisk alle tabeller i fisk med den syntax du har valgt

Se evt: http://www.mysql.com/doc/en/GRANT.html
Avatar billede intel4004 Novice
24. maj 2003 - 15:13 #10
tipsen>

Ok - du svar blot og jeg accepterer det. Men jeg har lige et par ekstra spørgsmål:

- Er det muligt at fjerne brugere igen ligeså let igen, eller skal man slette rækkerne manuelt i user-databasen??
- hvad er forskellen på REVOKE og GRANT?? Det synes jeg ikke manualen forklarer...
- Kan man disable brugere midlertidig?

Intel4004
Avatar billede tipsen Nybegynder
24. maj 2003 - 17:53 #11
REVOKE bruger du til at tilbagetrække rettigheder, mens du giver dem med *GRANT* ;-)
Avatar billede intel4004 Novice
22. juni 2003 - 13:12 #12
Tipsen> Svarer du lige??
Avatar billede tipsen Nybegynder
26. juni 2003 - 11:50 #13
*svar*
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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