ERROR 1045 (28000): Access denied for user 'root'@'localhost

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 16.02.2009 23:51:55

Hallo zusammen,

mal wieder ein Thread mit dieser Fehlermeldung... :google:

Für ein Schulprojekt benötige ich eine MySQL-Datenbank, Apache-Server und php. Das Projekt mach ich mit einem Schulkollegen. Wir haben beide debian Lenny am Laufen. Der einzige Unterschied: bei ihm funktioniert der Login in MySQL.

Ich versuche mich mit mysql -u root -p anzumelden. Optional mit -h localhost, -P 3306

Ich habe mich durch sämtliche Google-Einträge gearbeitet, doch bekomme ich es nicht einmal hin, nach der Neuinstallation, mich einzuloggen. Ich habe mit und ohne MySQL-root-Passwort installiert. Ständig kommt die Meldung: ERROR 1045 (28000): Access denied for user 'root'@'localhost.

Wir haben ~alle Konfigurationsdateien verglichen.

Kann mir bitte jemand einen Tipp geben, was ich falsch mache???

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von habakug » 17.02.2009 08:22:10

Hallo!

Versuche es so (als root):

Code: Alles auswählen

$ /etc/init.d/mysql stop
$ mysqld --skip-grant-tables
$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('Geheimes_Passwort') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
$ /etc/init.d/mysql start
$ mysql -u root -p
Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 17.02.2009 21:03:52

Hallo habakug,

Ich bin gerade von der Schule gekommen und wollte gleich mal deinen Ansatz ausprobieren, doch leider geht es mit einer Fehlermeldung weiter.

Ich habe mich als root angemeldet und mysql gestoppt...

Code: Alles auswählen

# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

Code: Alles auswählen

# mysqld --skip-grant-tables
mysqld: Can't create/write to file '/tmp/ibdmfQkn' (Errcode: 13)
090217 20:21:52  InnoDB: Error: unable to create temporary file; errno: 13
090217 20:21:52 [Note] mysqld: ready for connections.
Version: '5.0.51a-24'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
Und da bleibt er hängen. Ich kann es nur noch mit einem kill beenden.

Habe dann die Berechtigungen mit chmod 777 /tmp von /tmp geändert. Von drwxr-xr-x 5 kaffee root 4096 17. Feb 20:35 tmp nach drwxrwxrwx 5 kaffee root 4096 17. Feb 20:36 tmp

Ein erneuter Aufruf ergab:

Code: Alles auswählen

# mysqld --skip-grant-tables
090217 20:36:25  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
Habe danach die Berechtigungen des Verzeichnises /var/lib/mysql mit chmod -R 777 geändert und erneut aufgerufen:

Code: Alles auswählen

# mysqld --skip-grant-tables
090217 20:59:27  InnoDB: Started; log sequence number 0 43655
090217 20:59:27 [Note] mysqld: ready for connections.
Version: '5.0.51a-24'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
und bleibt hängen...

Kommt das einem bekannt vor?


NACHTRAG:

Habe mal ein zweites Terminal geöffnet und konnte mich anmelden. Hast du das auch so gemeint??? Das ich also den MySQL-Daemon mit der Option --skip-grant-tables aufrufe?

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von habakug » 17.02.2009 21:30:32

Hallo!
Daneel hat geschrieben:Habe dann die Berechtigungen mit chmod 777 /tmp von /tmp geändert. Von drwxr-xr-x 5 kaffee root 4096 17. Feb 20:35 tmp nach drwxrwxrwx 5 kaffee root 4096 17. Feb 20:36 tmp
Du solltest nicht an den Berechtigungen herumspielen, höchstens in deinem Homeverzeichnis. Das Verzeichnis /tmp muß root gehören.

Code: Alles auswählen

# chown root:root /tmp
# chmod 1777 /tmp
# mysqld --skip-grant-tables
Auch das hier
Daneel hat geschrieben:Habe danach die Berechtigungen des Verzeichnises /var/lib/mysql mit chmod -R 777 geändert und erneut aufgerufen:
macht keinen Sinn. So hast du im Nullkommanix ein unbrauchbares System.

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 18.02.2009 00:17:44

Das dem Benutzer /tmp gehört ist OOTB. habe es aber entsprechend geändert.

Wenn ich /var/lib/mysql im ursprünglichen 755 belasse, kommt beim Aufruf von mysqld --skip-grant-table:

Code: Alles auswählen

# mysqld --skip-grant-tables
090217 20:36:25  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
#
Ich habe jetzt mal mysql als Besitzer von /var/lib/mysql eingesetzt und mysqld --skip-grant-table aufgerufen. Jetzt kann ich mich in einer zweiten Konsole anmelden. Das UPDATE... und FLUSH... hat keine Auswirkung. stoppe ich mysqld --skip-grant-table wieder ist ein erneuter Login nicht mehr möglich.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von habakug » 18.02.2009 09:22:43

Hallo!
Daneel hat geschrieben:Habe mal ein zweites Terminal geöffnet und konnte mich anmelden. Hast du das auch so gemeint??? Das ich also den MySQL-Daemon mit der Option --skip-grant-tables aufrufe?
Ja, das habe ich gemeint. Du öffnest eine Konsole und gibst ein:

Code: Alles auswählen

lenny64:~# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
lenny64:~# mysqld --skip-grant-tables
090218  9:08:38  InnoDB: Started; log sequence number 0 43655
090218  9:08:38 [Note] mysqld: ready for connections.
Version: '5.0.75-1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
Jetzt machst du eine zweite Konsole auf und machst folgendes:

Code: Alles auswählen

lenny64:~# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.75-1 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> UPDATE user SET Password=PASSWORD('Geheimes_Passwort') where USER='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
lenny64:~# mysql -u root -p
Enter password: Geheimes_Passwort
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.75-1 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> quit
Bye
lenny64:~# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
Die Berechtigungen sehen so aus:

Code: Alles auswählen

lenny64:~# ls -lisa /var/lib/mysql/
insgesamt 20536
407465     4 drwxr-xr-x  3 mysql mysql     4096 18. Feb 09:08 .
407204     4 drwxr-xr-x 67 root  root      4096 18. Feb 08:51 ..
408714     0 -rw-r--r--  1 root  root         0 18. Feb 08:51 debian-5.0.flag
408980 10256 -rw-rw----  1 mysql mysql 10485760 18. Feb 09:06 ibdata1
408985  5132 -rw-rw----  1 mysql mysql  5242880 18. Feb 09:08 ib_logfile0
408987  5132 -rw-rw----  1 mysql mysql  5242880 18. Feb 08:51 ib_logfile1
408613     4 drwxr-xr-x  2 mysql root      4096 18. Feb 08:51 mysql
946011     4 -rw-------  1 root  root         6 18. Feb 08:51 mysql_upgrade_info
lenny64:~# ls -lisa /tmp/
insgesamt 44
333905 4 drwxrwxrwt 10 root root 4096 18. Feb 09:08 .
     2 4 drwxr-xr-x 22 root root 4096 18. Feb 09:05 ..
333908 4 drwxrwxrwt  2 root root 4096 18. Feb 08:42 .ICE-unix
333961 4 -r--r--r--  1 root root   11 18. Feb 08:42 .X0-lock
333907 4 drwxrwxrwt  2 root root 4096 18. Feb 08:42 .X11-unix
Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 18.02.2009 11:01:06

Hallo habakug,

so bin ich auch vorgegangen. Nur ist bei mir folgendes rausgekommen:

...
mysql> UPDATE user SET Password=PASSWORD('Geheimes_Passwort') where USER='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
...

Das Verzeichnis /var/lib/mysql hatte rwxr-xr-x mysql root und brachte die oben beschriebene Fehlermeldung. Ich schaue mir heute Abend mal den Inhalt von /val/lib/mysql an.

Vielen Dank schon einmal für die nützlichen Tipps.

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Athlux » 20.02.2009 19:00:33

Man muss noch die Datenbank auswählen bevor man mit UPDATE was ändert.

Code: Alles auswählen

mysql> use mysql; 
Man kann auch folgende Zeile nehmen

Code: Alles auswählen

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
Gruß Athlux

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 21.02.2009 12:18:56

Was passiert denn wenn du nur mysql nimmst ?

Allerdings könntest du auch mal versuchen ob du mit dem User debian-sys-maint an die Datenbank rann kommts. Passwort dafür steht in /etc/mysql//debian.cnf , im Klartext und besteht aus 16 Zeichen.
Zuletzt geändert von KBDCALLS am 05.03.2009 10:18:35, insgesamt 1-mal geändert.
Grund: Verzeichnis der Konfigurationsdatei berichtigt
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 22.02.2009 22:03:59

Vielen Dank an alle für die Hilfe, doch ich habe erst einmal die Schnauze voll! Da geht gar nichts.

Den einzigen Benutzer den ich habe scheint debian-sys-maint zu sein.

Startet der MySQL 'normal' mit dem Runlevel, kann ich mich nicht als root einloggen.

Stoppe ich MySQL mit /etc/init.d/mysql stop und starte mysqld kann ich mich in einer zweiten Konsole mit mysql -u debian-sys-maint anmelden. Es funktioniert auch nicht, neue User anzulegen, da scheinen mir die Berechtigungen zu fehlen.

Wenn ich das mit dem UPDATE.... mache funktioniert das nicht, da ich keinen Benutzer root habe...

Ich hol' mir jetzt ein Bier und les' ein Buch! $c83ixx Computer

Nachtrag:
Bei nur mysql: gleiche Fehlermeldung ERROR 1045...

fOV
Beiträge: 60
Registriert: 13.03.2008 09:53:46

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von fOV » 27.02.2009 13:29:25

an der Kennwortvergabe für den User root in der mySQL-DB bin ich ebenfalls schon verzweifelt.
Wenn ich mir die mySQL-Installation unter Lenny oder Ubuntu 8.10 anschaue, haben da schon mehrere Leute verzweifelt gekämpft.
Zwischenzeitlich wird während der Installation nach dem root-Kennwort für die DB gefragt. Unter Etch leider noch nicht.
Mein Tipp: purge und remove alles was nach mySQL riecht und schmeckt und installiere es neu.
Im Anschluß daran installiertst du webmin und setzt über das Webfontend das root-Kennwort. Solltest du dich an Webmin stören, kannst du dieses im Anschluss löschen.
Bevor ich Nächte vor der Kiste sitze und meine Halsschlagader auf Oberschenkelstärke anschwillt, verwende ich lieber einen Workaround.

apt-get install mysql-server mysql-client libmysqlclient15-dev

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 27.02.2009 13:54:46

Kann ich eigentlich nicht nachvollziehen. Wenn man mysql installiert , dann hat der User Root ein leeres Passwort. Linux/Unix und mysql Passwörter sind unterschiedlich.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von 123456 » 27.02.2009 13:58:20

fOV hat geschrieben:Mein Tipp: purge und remove alles was nach mySQL riecht und schmeckt und installiere es neu.
Genau das musste ich auch vor ner Weile machen. Vorher alles durchprobiert. Ich dachte ich bin in einem Windows Film.

Benutzeravatar
Mattis42
Beiträge: 426
Registriert: 05.03.2003 12:06:41
Wohnort: Bayern

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Mattis42 » 27.02.2009 14:17:07

Hallo,

langsam bin ich kurz davor einen Hammer zu nehmen und alles kurz und klein zu schlagen.
Hab das Problem mittlerweile auf DREI Lenny-Kisten.

Und bis jetzt ehrlich gesagt keine Erklärung, geschweige denn eine 100%ig funktionierende Lösung.

:roll:

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 27.02.2009 15:41:32

Habakug hat beschrieben wie man das Rootpasswort neu setzt, Im Deutschen MYSQL Handbuch ist es auch beschrieben, und dann gibt es noch den debian-sys-maint
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

fOV
Beiträge: 60
Registriert: 13.03.2008 09:53:46

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von fOV » 02.03.2009 09:50:26

bei der mysql-Installation unter Lenny wird aber das mysql-Kennwort im Laufe der Installation abgefragt ?
Was passiert nach einem ?
>mysql -u root -p

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 02.03.2009 09:53:49

Du loggst dich als User Root ein, und das Passwort wird abgefragt.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mattis42
Beiträge: 426
Registriert: 05.03.2003 12:06:41
Wohnort: Bayern

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Mattis42 » 04.03.2009 20:31:55

Hallo,

also ich komme mir langsam wie ein blutiger Anfänger vor.

Ich haber hier eine Kiste mit 5 frischen Lenny-Installationen.
Schon auf dem ersten System gab es das Problem, das sich der MySQL-User root mit dem bei der Installation von mysql-server-5.0 vergebenen Passwort nicht einloggen kann.
Die bekannten Wege um das PW zurückzusetzen schlugen alle fehl, einzig ein apt-get remove --purge mysql-server-5.0 und eine erneute Installation führten schließlich zum Erfolg.

Nun, beim zweiten System das gleiche Spiel wieder :-(
Aber in diesem Fall half auch das remove & purge nicht weiter.
Nach einer erneuten Installation das gleiche Problem wieder.

Ich bin jetzt seit Potato dabei, aber sowas hab ich bisher noch nicht gehabt <grmpf>


me

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 04.03.2009 23:05:23

Ist mir bilang so nicht passiert. Ließ dir das nochmal durch. Eventuell ist das ne Möglichkeit.

https://www.debianforum.de/forum/viewto ... 04#p682041
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von habakug » 04.03.2009 23:19:15

Hallo!

Die Datei ist allerdings unter

Code: Alles auswählen

/etc/mysql/debian.cnf
zu finden.

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von KBDCALLS » 05.03.2009 10:19:33

:oops: Copy & Paste wäre besser gewesen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von Daneel » 09.03.2009 10:42:38

Hallo zusammen,

bei mir funktioniert es mittlerweile. Ich habe aber nicht wirklich eine für mich schlüssige Antwort.

Bei meiner Anfrage verwendete ich die testing Version von Lenny. Ich habe das mit und ohne Angabe eines mysql-root-Passwort installiert, mit dem bekannten Ergebnis.

Zwischenzeitlich wechselte ich auf eine andere Distribution, wo es funktionierte. Da ich aber schon bei 8.2 der grünen Seuche abgesprungen bin, holte ich mir die CD von Lenny stable und was soll ich sagen, es geht.

Kann einer bestätigen, dass es mit testing/stable von Lenny zusammenhängen kann?


Vielen Dank noch einmal für die rege Beteiligung!

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: ERROR 1045 (28000): Access denied for user 'root'@'localhost

Beitrag von 123456 » 09.03.2009 13:26:52

Daneel hat geschrieben:Kann einer bestätigen, dass es mit testing/stable von Lenny zusammenhängen kann?
den Zusammenhang habe ich bei mir auch beobachtet. Eine Idee dazu habe ich aber nicht.

Antworten