phpbar.de logo

Mailinglisten-Archive

Re: Newbie Frage : Berechtigungen
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Newbie Frage : Berechtigungen



Albrecht Leiprecht wrote:
> 
> hallo da draussen....
> 
> ich dreh gleich durch... ich sitze schon die ganze nacht an diesem ding, habe
> mich durch diverse faq gewuehlt...inzwischen habe ich das gefuehl, mein
> Gehirn boykottiert mich....
> 
> heuuul....
> 
> nachdem ich mich nun eine zeitlang mit msql rumgeschlagen habe, installierte
> ich MySql...
> 
> leider funktionierte das install_db script bei mir nicht.... wohl weil es sich um
> einen virtuellen host handelt..
> 
> alles halb so schlimm....
> 
> wie kann ich die zugriffsberechtigungen direkt ueber mysql in der commanline
> setzen ?
> 
> ich wuerde gerne von PHP3 aus darauf zugreifen... ein apache_mod habe ich
> bereits installiert...
> 
> btw ich aus versehen mit insert into einen user angelegt.... und bekomme ihn
> nun nicht mehr geloescht...
> 
> kann mir jemand sagen, was ich in welcher reihenfolge tun soll ?
> 
> gruss albi

Hallo Albi

Als erstes hälst Du die gerade laufende mysqld an (notfalls mit kill).
Dann startest Du die mysql mit:
./bin/safe_mysqld --skip-grant-tables &

Dadurch sind momentan alle Privilegien für jeden von überall erlaubt!

Öffne jetzt von der Kommandozeile eine connection zum mysql DBMS mit:
./bin/mysql mysql

Nun löschst Du von der mysql Kommandozeile aus alle Einträge in den Tabellen 
user, db und host mit:
DELETE FROM user

DELETE FROM db

DELETE FROM host

(Ich hab die Semikolons am Ende weggelassen.)

Als nächstes richtest Du einen DB-Account für den mysql Administrator ein.
Der standard user Name dieses Accounts ist 'root'.
Das Feld 'Host' gibt an, von wo aus dieser Benutzer eine Verbindung zur mysql öffnen darf.
Der Standard ist localhost. Ich bevorzuge allerdings eine Subnetzmaske für unser Intranet.
Im unteren Beispiel lasse ich Verbindungen von überall zu.
Dieser Account hat alle Rechte global auf alle Datenbanken.
INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv,
Shutdown_priv, Process_priv, File_priv) VALUES ('%','root',PASSWORD( 'Passwort mit bis zu 16 Zeichen' ), 'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y')

Beende jetzt die connection zur mysql mit:
QUIT

Halte das mysql DBMS an mit:
./bin/mysqladmin shutdown

Nun starte mysql wieder (Normalmodus mit Privilegien eingeschaltet) durch:
./bin/safe_mysqld &

Mittels des zuvor eingerichteten Administrator Accounts öffnest Du eine neue Connection zum mysql DBMS mittels:
./bin/mysql --user=root --password mysql

Von der mysql Kommandozeile aus kannst Du jetzt andere Benutzer einrichten und ihnen Zugriffsrechte geben, indem Du entweder weitere
INSERT's absetzt, oder durch verwenden der GRANT/REVOKE syntax.

Ich hoffe das hilft Dir weiter.
Christian


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive