PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql



sushi
12.03.03, 12:08
hallo alle zusammen,

ich nudelaug brauche mal wieder die hilfe von anderen und zwar.

Warning: Access denied for user: 'php@localhost' (Using password: YES) in /srv/www/htdocs/auth/sql_test.php on line 8

ich hab in die mysql db user einen user eingetragen mit dem namen php und im ein passwort gegeben.

Access denied for user: 'php@localhost' (Using password: YES)

leider sagt mir das ich kein recht habe aber wie kann ich die rechte bekommen ???
wo muß ich da was eintragen das ich zugriff bekomme ???

sushi

danke an alle die mir helfen

Svenny
12.03.03, 12:28
schau mal in phpmyadmin wo der user php drauf zugriff hat

richy19
12.03.03, 12:34
hast du auch nachdem du den user angelegt hast einen "reload" gemacht?

mysqladmin -uroot -p[dein_root_passwort] reload

sushi
12.03.03, 12:46
danke richy für deine hilfe ich habe "mysqladmin -uroot -p[dein_root_passwort] reload" eingegeben und

mysqladmin: connect to server at 'localhost' failed
eorror: 'Access denied for user: 'root@localhost' (Using password: yes)'

das als fehler meldung bekommen.


was mach ich falsch ???

danke für eure hilfe , weiter so :c)

sushi

richy19
12.03.03, 13:08
Hast du denn überhaupt für root ein passwort gesetzt? Wenn du keins gesetzt hast und auch als root eingelogt bist, dann sollte folgendes auch reichen:

mysqladmin reload

sushi
12.03.03, 15:04
oje oje

jetzt geht nix mehr ich habe das mit dem reload gemacht und jetzt sagt er mir
mysqladmin: reload failed: error : ' Access denied for user '@localhost' using password = 'no'


was hab ich gemacht ????


sushi:confused:

richy19
12.03.03, 15:26
Hmmm..... komisch.

1) Hast Du root ein passwort für die MySQL gegeben?


also ich mache das immer folgendermassen:

ich richte einen neuen benutzer in der Tabelle users ein und setze aber alle rechte und privilegien auf "N", achte aber darauf dass Du, falls dein mysql und dein webserver die physikalisch gleiche maschine sind, bei host "localhost" einträgst. Und das passwort muss _verschlüsselt_ sein!!

Dann erstelle in der Tabelle db einen eintrag für die Tabelle auf die Dein neuer Benutzer zugreifen soll und setzte dort die rechte die der Benutzer für die Tabelle Haben soll.

dann mache ich ein: mysqladmin -uroot -p<meinrootpasswort> reload
und ich kann auf die Datenbank zugreifen

sushi
12.03.03, 15:47
ich glaube ich habe mich ausgesperrt da ich das passwort nicht verschlüsselt habe.
ich kann leider nicht mehr auf die system tabellen zugreifen um das passwort zu ändern.

danke für deine hilfe richie

was kann ich machen das ich wieder reinkann.


sushi

richy19
12.03.03, 15:55
Ähhmmmm...warum ausgesperrt?

du hast doch das root passwort für mysql nicht verändert oder?

Hast Du es denn gesetzt?

Oder hast Du das passwort für den benutzer php gesetzt?


suche mal bei google nach mysql_setpermission, vielleicht hilft das weiter.

einen eintrag in die user tabelle mit verschlüsseltem passwort nimmst Du folgendermassen vor:

insert into user (host, user, password) values (localhost, php, password('deinpasswort'));

dann stehen auch alle rechte in der user tabelle auf "N", die du dann für jede tabelle für den benutzer in der Tabelle db individuell setzen kanns.

sushi
12.03.03, 16:43
richy

1. möchte ich einmal danke sagen. danke
2. ich habe jetzt alles neu installiert.
3. ich habe jetzt einen user eingetragen in die user tabelle host =localhost, name = php, pw= hugo
4. ich hab jetzt eine test tabelle gemacht die ich auslesen möchte aber wenn ich mit dem php_user komme wo ein pw in der userdb steht bekomme ich "Warning: Access denied for user: 'php@localhost' (Using password: YES) in /srv/www/htdocs/auth/sql_test.php on line 8

Warning: MySQL Connection Failed: Access denied for user: 'php@localhost' (Using password: YES) in /srv/www/htdocs/auth/sql_test.php on line 8"
5. ich glaube da stimmt was nicht mit der berechtigung, wo kann ich außer in der userdb die rechte vergeben ???
6. danke danke danke

sushi

richy19
12.03.03, 16:53
Die legst den benutzer in user an.
Dann setzt Du die rechten für den benutzer für die jweilige tabelle in db.

z.B.

insert into db ('localhost', 'dein_datenbankname', 'dein_benutzer','Y','Y','Y','Y','Y','Y','Y','Y','Y ','Y');

mit diesem Befehl richtest einen benutzer (dein_benutzer) ein, der auf die datenbank (dein_datenbankname) volle zugriffsrechte hat.

weitere informationen dazu findest du unter www.little-idiot.de/mysql (http://www.little-idiot.de/mysql/)

Gruss Richy

richy19
12.03.03, 16:54
achso, was ich vergessen habe, wichtig ist dass du alphanumerische werte immer in hochkommata setzt! das habe ich nämlich bei einem Posting von mir vergessen.
Sorry

sushi
12.03.03, 17:06
DANKE
sushi

richy19
12.03.03, 17:18
Hat es denn funktioniert?
Mitlerweile....

sushi
13.03.03, 10:02
ja und wie :)

war keine einfache geburt.


danke

sushi