Op dinsdag 13 november 2001 22:22 schreef active2 het volgende:
Wie kan dat duidelijk uitleggen?
Als jij duidelijk maakt wat je precies wil dan kunnen wij het wel uitleggen.
Nou oke dan, een paar voorbeeldjes.
Stel je hebt een database genaamd "myfirstdb" en je wil een user genaamd "active2" (met password "GoT") toevoegen die in deze database alles mag:
> GRANT ALL PRIVILEGES ON myfirstdb.* TO 'active2'@'%' IDENTIFIED BY 'GoT';
GRANT
geef recht
ALL PRIVILEGES
welk recht (hier dus: alles)
ON myfirstdb.*
op database.object (* = alle, hier dus: alle tabellen in
myfistdb)
TO 'active2'@'%'
aan user 'active2' als hij connect van host '%' ('%' = alle, kan bijvoorbeeld ook 'localhost' zijn of '%.tweakers.net').
Een user kan dus verschillende rechten krijgen als hij van verschillende hosts connect door de user 2 keer toe te voegen met andere host.
IDENTIFIED BY 'GoT'
het password voor deze user (als user al bestaat en je geeft alleen nog wat extra rechten kan je dit weglaten).
Wil je eigenlijk dat deze user alleen mag lezen (SELECT) in de database dan doe je ipv bovenstaande:
> GRANT SELECT ON myfirstdb.* TO 'active2'@'%' IDENTIFIED BY 'GoT';
Of mag hij alleen SELECTs en UPDATEs doen?
> GRANT SELECT, UPDATE ON myfirstdb.* TO 'active2'@'%' IDENTIFIED BY 'GoT';
Een andere user mag alleen in 1 bepaalde tabel binnen deze database iets opzoeken:
> GRANT SELECT ON myfirstdb.eentabel TO 'active3'@'%' IDENTIFIED BY 'passwordje';
Andere opties moet je nog maar eens rustig nalezen in de manual:
http://www.mysql.com/doc/A/d/Adding_users.html
Het enige wat in het begin verwarrend kan zijn is het "host-verhaal" van de inlogstructuur van mysql, maar met een beetje lezen en logisch nadenken moet je daar ook wel uitkomen.
p.s. Ik zou niet rechtstreeks in de user tabellen gaan klooien met inserts en updates. Da's een stuk ingewikkelder (tenzij je je bij de standaardrechten houdt) en de GRANT en REVOKE syntax is er niet voor niets