[mysql] Access denied for user 'root'@'localhost' (using password: NO)

LateRiser

Well-Known Member
Hallo Ihr,

ich weiß, ich weiß. es gibt mächtig viele Artikel über genau dieses Problem, aber evtl. bin ich auch einfach zu dumm (ich hoffe ja mal nicht), aber ich schaffe es nicht, mich mit PhpMyAdmin oder PHPs mysql_connect() zu meiner Datenbank zu verbinden.
Es ist zum Wahnsinnig werden.

Ich habe mysql 5.1 (Server und Client) aus den Ports installiert. Nach der Installation habe ich gemäß der Anleitung
Code:
mysql_install_db
aufgerufen und mit
Code:
mysqladmin
ein Passwort eingerichtet. Keine Probleme soweit.
PHP ist als Modul in Apache 2x installiert und funktioniert auch soweit.
Laut phpinfo() ist mysql auch angebunden.

Wie gesagt, wenn ich jetzt eine php-datei anlege, die nur mysql_connect innehat, dann kommt folgende Meldung:
Code:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /usr/home/www/_SITES/default/html/index.php on line 2

PhpMyAdmin gibt mir:
Code:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)

Also die gleiche Fehlermeldung... natürlich hab ich shcon X-Mal die config-Datei von phpMyAdmin gescheckt, finde aber nichts "falsches".

Zur Info: Wenn ich mit Webmin auf mySQL verbinden möchte, dann klappt das wunderbar.
Daher denke ich, dass es etwas mit PHP zu tun hat, denn Webmin ist ja in Perl entwickelt.

Vielleicht kann mir jemand von euch helfen... wäre wunderbar.

Achja.. hier meine Versionen:
PHP: 5.26
mySQL: 5.1
phMyAdmin: 2.11.7
FreeBSD: 6.1
 
Ich habe phpmyadmin noch nie genutzt aber in der Fehlermeldung steht: (using password: NO). Das ist falsch. Du musst ja eines verwenden.

Versuche mal dich mit mysql -uroot -p anzumelden.

Gruß
 
aufgerufen und mit "mysqladmin" ein Passwort eingerichtet.
Dann du in der PHP Function mysql_connect() sowohl User als auch Passowrt angeben.

Analog musst du in der config.inc.php von phpMyAdmin user und passwort angeben (oder am besten gleich den auth_type config umschalten auf http oder cookie)
 
Also....
ich kann mich ohne weiteres per mysql -u root -p anmelden, er akzeptiert "sogar" mein Passwort. Kein Ding.... ich hab auch einfach mal das Passwort rausgenommen und versucht mich zu connecten... genau das gleiche Spiel. Verstehs halt nicht. Grmpf

PHP-Code:
Code:
<?=mysql_connect("localhost","root","meinPasswort");?>

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /usr/home/www/_SITES/default/html/index.php on line 2

PhpMyAdmin-Config

Code:
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'meinPasswort';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'meinPasswort';

/* End of servers configuration */

?>
 
Zuletzt bearbeitet:
Also ich hab mysql in ner Jail laufen und nutze auch phpmyadmin. Wahrscheinlich eine etwas ältere Version als du, weil meine config.inc.php etwas anders aussieht. Ich hab nämlich die user und password Zeilen nur einmal drin.
Wie dem auch sei, eigentlich sollte es so funzen. Was du evtl. noch probieren könntest, ist, dich auf der Console anmelden und die nochmal spezifisch die Rechte für root an der verwendeten Datenbank setzen. Also sowas inetwa:

Code:
grant all on datenbank.* to root@localhost identified by 'Passwort';
 
Ok... sql.safe_mode war eingeschaltet und wenn ich es abschalte, dann funktioniert es.
Jetzt bin ich aber verwirrt, ich denke wenn der per default eingeschaltet ist, dann hat das doch seinen Sinn, oder? :D
Ich werd mal danach Googlen, aber vielen vielen Dank!! Es funktioniert :D
 
ähm... hatte bei PHP.net nach sql.safe_mode gesucht und der hat mir nur ausgespuckt, dass die default parameter anstatt der übergebenen Parameter verwendet wird :) Bin grad fleissig am googlen und lesen :)
 
Ist er... ehrlich.. hab vorher nie was an der option geändert (oder erst gehört) und sie was einegschaltet :D
Allerdings hab ich PHP nicht aus den Ports installiert. %)
Wie auch immer es nun ist... es war an und nun ist es aus und das ist ersmal gut so, bis ich rausgefudnen hab, was genau passiert :)
Vielen Dank!
 
Zurück
Oben