Mysql
Maxim
- webserver
Hi,
nachdem ich mein Apache Server installiert habe, PHP erfolgreich draufgespielt habe erhalte ich nun ein Problem wenn ich das Datenbanksystem MYSQL hinzufügen möchte.
Fehler (Log-File vom Server):
[Fri Mar 30 17:06:19 2007] [error] [client 127.0.0.1] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'maxim'@'localhost' (using password: YES) in D:\Server\WWW\mysql.php on line 2, referer: http://localhost/
[Fri Mar 30 17:06:19 2007] [error] [client 127.0.0.1] PHP Notice: Undefined variable: dbname in D:\Server\WWW\mysql.php on line 3, referer: http://localhost/
[Fri Mar 30 17:06:19 2007] [error] [client 127.0.0.1] PHP Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\Server\WWW\mysql.php on line 3, referer: http://localhost/
[Fri Mar 30 17:06:19 2007] [error] [client 127.0.0.1] PHP Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in D:\Server\WWW\mysql.php on line 6, referer: http://localhost/
Der Fehler kommt bei folgenden Programmzeilen:
<?php
$link = mysql_connect("localhost", "maxim", "test");
If(mysql_query($dbname, $link))
{echo "Datenbank wurde erstellt";}
else {echo "nein";}
mysql_close($link);
?>
Denselben Fehler zeigt Phpadmin:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
echo $begrüßung;
PHP Warning: mysql_connect() [...]: Access denied for user 'maxim'@'localhost' (using password: YES)
Denselben Fehler zeigt Phpadmin:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
The MySQL Access Privilege System
Hast du die fraglichen Benutzer bereits eingerichtet? Verwende FLUSH PRIVILEGES oder start den MySQL-Server neu, um die Änderungen wirksam werden zu lassen.
Wenn du das root-Passwort nicht (mehr) kennst: How to Reset the Root Password. Normalerweise solltest du das Default-Root-Passwort in der Dokumentation deines Systems finden.
echo "$verabschiedung $name";
Also ich glaube am Passwort liegt es nicht, weil ich einerseits anonym-login eingestellt habe und andererseits nur das Passwort test überall vergeben habe. Gibt es eine andere Möglichkeit noch zB das ich irgendwas bei Apache aktivieren muss oder in der php.ini?
echo $begrüßung;
Also ich glaube am Passwort liegt es nicht, weil ich einerseits anonym-login eingestellt habe und andererseits nur das Passwort test überall vergeben habe.
"anonym-login" hab ich bei MySQL noch nicht gesehen. Meist du vielleicht, dass du den MySQL-Server mit --skip-grant-tables laufen hast? Dies wäre zum einen keine gute Idee, und zum anderen auch nicht nötig, weil sich Benutzerkennungen eigentlich recht einfach einrichten lassen.
Gibt es eine andere Möglichkeit noch zB das ich irgendwas bei Apache aktivieren muss oder in der php.ini?
Nein, das ist ein reines MySQL-Thema. Es sei denn, du verwendest zum Konnektieren Zugangsdaten, die dem MySQL-Server nicht bekannt sind. Dann solltest du die richtigen Zugangsdaten in deine Scripts (und die phpMyAdmin-Konfigurationsdatei) eintragen.
Denn genau das sagt die Fehlermeldung aus. Dein MySQL verweigert dir die Kontaktaufnahme, weil es meint, dass du Zugangsdaten verwendest, die keine Zugriffsberechtigung haben. Bisher hatte MySQL in solch einem Fall immer Recht gehabt.
echo "$verabschiedung $name";
Hallo,
PHP Warning: mysql_connect() [...]: Access denied for user 'maxim'@'localhost' (using password: YES)
Denselben Fehler zeigt Phpadmin:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)The MySQL Access Privilege System
Hast du die fraglichen Benutzer bereits eingerichtet? Verwende FLUSH PRIVILEGES oder start den MySQL-Server neu, um die Änderungen wirksam werden zu lassen.
Trotzdem erscheint dieselbe Nachricht
Normalerweise solltest du das Default-Root-Passwort in der Dokumentation deines Systems finden.
Wo finde ich die Doc `?
So langsam dreh ihc durch :(
echo $begrüßung;
Normalerweise solltest du das Default-Root-Passwort in der Dokumentation deines Systems finden.
Wo finde ich die Doc `?
Ich weiß nicht, welches System du hast.
Abgesehen davon ist eine Methode, die auf jeden Fall funktionieren sollte, das Root-Passwort auf einen definierten Wert zu setzen. Danach solltest du bekannte Zugriffsdaten haben und kannst dir deine Benutzer einrichten, so wie du sie brauchst.
Unter How to Reset the Root Password findest du mehrere Vorgehensweisen. Ich tendiere zur am Ende stehenden "Alternatively, on any platform, ..."-Methode. Wie du Dienste auf deinem System stoppst und startest sollte dir bekannt sein. Stoppe zunächst den MySQL-Server. Ich nehme an, du hast ein Linux-System laufen. Starte nun den
mysqld_safe --skip-grant-tables --user=root &
und führe die Schritte 2 und 3 der Anleitung aus. Beende den Server mit
mysqladmin shutdown
Jetzt kannst du den Server wieder auf normalem Wege starten, und solltest dich mit
mysql -u root -p
und Eingabe des Passworts zum Server verbinden können. Konfiguriere nun noch phpMyAdmin richtig und dann kannst du damit weitere Benutzer anlegen. Beachte immer, dass Änderungen erst nach einem FLUSH PRIVILEGES wirksam werden. Du kannst auch die vom phpMyAdmin angebotene Funktion "Benutzerprofile neu laden" verwenden.
echo "$verabschiedung $name";
Ich nochmal ;-)
Unter How to Reset the Root Password findest du mehrere Vorgehensweisen. Ich tendiere zur am Ende stehenden "Alternatively, on any platform, ..."-Methode. Wie du Dienste auf deinem System stoppst und startest sollte dir bekannt sein. Stoppe zunächst den MySQL-Server.
Bedeutet Stoppen = Anhalten oder Beenden? eher ersteres oder? Und dann kommt wenn ich den Dienst anhalten möchte eine Fehlermeldung:
Der Dienst Mysql auf Lokaler Computer konnte nicht angehalten werden.
Der Dienst hat keinen Fehler zurückgegeben. Es kann sich um einen internen Windows-Fehler oder einen internen Dienstfehler handeln. Setzen SIe sich mit ihrem Systemadministrator in Verbindung, falls das Problem weiterhin besteht.
Danke schonmal im Voraus
echo $begrüßung;
Bedeutet Stoppen = Anhalten oder Beenden? eher ersteres oder? Und dann kommt wenn ich den Dienst anhalten möchte eine Fehlermeldung:
Eine Bitte für das nächste Mal: Wenn dir jemand bei deinen Problemen helfen soll, solltest du auch angeben, um welches System es sich handelt, und welche Versionsnummern der beteiligten Programme du verwendest. Implizit entnehme ich deinen Ausführungen, dass du Windows verwendest und nicht, wie ich erst nicht richtig geraten hatte, Linux.
Der Dienst Mysql auf Lokaler Computer konnte nicht angehalten werden.
Wenn der Dienst immer noch läuft, un du ihn nicht sanft beenden kannst, setze seinen Starttyp auf Manuell oder Deaktiviert, und starte den Rechner neu. Dann solltest du die fortfahren können, wobei ich allerdings nicht weiß, ob unter Windows die gleichen Kommandozeilentools bei MySQL dabei sind wie unter Linux. Möglicherweise müsstest du auch nach einer der oberen "The procedure under Windows:" vorgehen. Vergiss nicht, abschließend den Starttyp wieder auf Manuell oder Automatisch zu stellen, je nachdem, wie du das gern hättest.
echo "$verabschiedung $name";