phpMyAdmin & mySQL Konfiguration
ddr-ram
- webserver
Hallo Forum,
ich habe ein mittelschweres Problem.
Habe den Windows Server 2003 Enterprise mit, auf dem ist mySQL 4.0.18 installiert. Nun habe ich phpMyAdmin installiert, jedoch erhalte ich beim Zugriff auf das phpMyAdmin-Verzeichnisses den Willkommensgruß, mit folgender Fehlermeldung:
MySQL meldet:
#1045 - Access denied for user: 'root@dualserver' (Using password: YES)
Ich habe mySQL folgende Daten eingegeben (Beispiele):
Host: dualserver
User: root
Passwort: anwin
Diese Daten habe ich auch in phpMyAdmin eingegeben (und peinlich kontrolliert), jedoch erscheint dann immer diese oben besagte Fehlermeldung.
Hier ist die gesamte config.inc als Zip-Datei:
http://www.4realbusiness.de/config.inc.zip
Vielleicht hat ja jemand eine Idee, oder einen Konfigurationsvorschlag, das würde mir sehr helfen.
Vielleicht noch eines: Der Apache läuft übrigens auch auf dem System in der Version 1.3.28
Grüße
ddr-ram
Nachtrag: ich weiss das dieses posting nicht gerade hier ins Forum passt, aber hoffe es ist zu verzeihen :-)
hi,
der ganze BerechtigungsKram (grant & co) von MySQL ist unter Windows total buggy.
Gruss, Rolf
Moin!
der ganze BerechtigungsKram (grant & co) von MySQL ist unter Windows total buggy.
???
Nö. Davon müsste ich wissen oder meinst Du irgend eine alpha- Version?
Frage an den Ur-Frager:
Bitte mal Das Ergebnis von: (Die folgenden Zeilen an der Eingabeaufforderung ausführen.)
c:> c:\mysql\bin\mysql -u root -p
Password: [Passworteingabe]
mysql> use mysql;
mysql> SELECT user, host, password from users where user="root";
Ich will ganz einfach wissen, ob der Benutzer von diesem Host (dualserver) aus überhaupt zugreifen darf...
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
Bitte mal Das Ergebnis von: (Die folgenden Zeilen an der Eingabeaufforderung ausführen.)
c:> c:\mysql\bin\mysql -u root -p
Password: [Passworteingabe]
Bekomme ich selbe Fehlermeldung:
ERROR 1045 ACCESS denied for user: root@localhost <Using Password=Yes>
mysql> use mysql;
mysql> SELECT user, host, password from users where user="root";
Funktioniert nicht, bekomme ich eine Fehlermeldung:
Der Befehl "SELECT" ist entweder falsch geschrieben, oder konnte nicht gefunden werden.
Mit verzweifelten Grüßen
ddr-ram
Moin!
Bekomme ich selbe Fehlermeldung:
ERROR 1045 ACCESS denied for user: root@localhost <Using Password=Yes>
Wenn schon der Zugriff nicht klappt, dann brauchst Du Dir um die weiteren Befehle keine Sorgen machen- das kann nicht gehen.
Also: Was hast Du an der Datenbank zuletzt verändert?
Es sieht so aus, als hättest Du Dich an den Benutzerrechten vegriffen. Hast Du das Passwort des Benutzers Root geändert? Wenn Du es geändert hast: hast Du danach den MySQL- Server schon mal angewiesen die neuen Grant- Tables auch zu verwenden? (da gibts verschiedene Möglichkeiten. Eine ist den MySQL- SERVER (!) neu zu starten.)
Du kannst versuchen den Mysql- Server zu beenden und am Prompt mit:
c:> C:\mysql\bin\mysqld.exe --skip-grant-tables
^^^^^^^^^^ Das ist der Server!
zu starten. Das ist eine Art "Notstart". Zuvor sollte man in produktiven Umgebungen den Zugriff auf den Datenbankserver sperren. (vom Netz trennen oder Port 3306 durch lokale Firewall schließen und "lokal" am Server arbeiten) Ich bezweifle, das dies an Deinem Home- Rechner "nötig" ist. "Empfehlenswert" ist es aber, den Rechner solange vom Internet zu nehmen, bis man insbesondere dem Root ein Passwort vergeben hat.
Danach:
c:> C:\mysql\bin\mysql # << das ist der client!
mysql> use mysql;
mysql> update users set password = password("Dein Passwort") where user="root";
mysql> exit;
Danach: beende den Datenbankserver und starte ihn neu, diesmal aber mit beachtung der Grants:
c:> C:\mysql\bin\mysqld.exe
Jetzt sollte der Zugriff funktionieren.
Was Du lesen solltest:
Nimm ein Buch oder das MySQL- Manual und lese alles über den Unterschied zwischen einer Datenbank und den einem Datenbankmanagement- System sowie über die Benutzerverwaltung. Hier könnten Dir die grant- Befehle sehr nützlich sein.
http://dev.mysql.com/doc/mysql/de/MySQL_Database_Administration.html
Übrigens: Falls Du mit am Rechtesystem noch nichts geändert hast (entweder in der Datenbank "mysql" oder mittels grant- Befehlen) hat Dein "root" ein leeres Passwort. Um das zu ändern kannst Du den oben genannten Befehl am MySQL- Client ausführen. (Server muss laufen und Du musst Dich erstmal anmelden können...)
mysql> update users set password = password("Dein Passwort") where user="root";
2 rows affected # Das ist die Antwort des Servers. Es gibt im Standardfall den root zweimal: Einmal localhost, einmal für beliebige Rechner. Du kannst das ändern.
mysql> flush privileges; # Dies liest die Benutzerrechte neu ein.
Ganz wichtig: Beim Start mit winmysqladmin wird nach einem Passwort gefragt. Dieses ist aber so herrlich vollkommen irrelevant, eher eine Art Täuschung....
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Ach so. Unter WinNT und folgende kann der mysql- Server mit:
c:> net stop mysql
und
c:> net start mysql
jederzeit am Prompt gestartet und beendet werden, so er als Dienst läuft.
Ntürlich kannst Du auch die Ampel des winmysqladmin benutzen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Danach:
c:> C:\mysql\bin\mysql # << das ist der client!
mysql> use mysql;
mysql> update users set password = password("Dein Passwort") where user="root";
Dort bekomme ich folgende Fehlermeldung:
ERROR 1146: Table mysql.users doesn´t exist
Gruss
ddr-ram
Moin!
mysql> update users set password = password("Dein Passwort") where user="root";
Dort bekomme ich folgende Fehlermeldung:
ERROR 1146: Table mysql.users doesn´t exist
Hat Dich das wirklich nicht auf die Idee gebracht mal mit
mysql> show tables;
nachzusehen, welche Tabellen existieren und dann mal in die Tabelle "user" hineinzuschauen?
mysql> update user set password = password("Dein Passwort") where user="root";
Vergiss nicht danach ein
mysql> flush privileges
durchzuführen. Oder den mysql-Server neu zu starten.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
der ganze BerechtigungsKram (grant & co) von MySQL ist unter Windows total buggy.
???Nö. Davon müsste ich wissen oder meinst Du irgend eine alpha- Version?
Ich persönlich finde eine Diskussion darüber überflüssig: Im produktiven Umfeld setze ich einen MySQL Server sowieso nicht auf einen Win98-Rechner. Das ist nur die Testumgebung.
Und da starten ich den DB Server mit
C:\mysql\bin\mysqld.exe --skip-grant-tables
und kann damit meine Scripts lokal testen ohne die Credentials zu ändern.
Viele Grüße, Rolf
Moin!
Im produktiven Umfeld setze ich einen MySQL Server sowieso nicht auf einen Win98-Rechner.
Igitt. Wer macht denn womöglich sowas? Unter NT/2000/XP/2003 läuft es aber prima. (Wobei da immer noch die Frage steht, wer wohl sowas macht :)
Ansonsten: die Betriebssystemumgebung ist für die Rechteverwaltung vom mysql vollkommen irrelevant. Ich nehme an, Du weisst das, will es aber für das Archiv nochmal gesagt haben.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Sorry hier einmal der richtige und funzende Link:
http://www.4realbusiness.de
Ich weiss..is schon spät..