PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (MySQL) Nochmal "Error 1045 (28000): Access denied for user 'root'@'localhost' "



Das Pferd
27.02.08, 09:17
Hi,

beim Versuch auf MySQl zuzugreifen bekomme ich immer

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

ja, ich habe gegoogelt wie ein wahnsinniger und auch dieses Forum durchsucht. Ja, dazu gibt es zig Notizen und Hinweise. Nein, keiner hilft mir weiter.

Egal was ich tue, ich bekomme keinen Zugang zu meinem MySQL (5.1). Ich hatte auch noch nie Zugriff und in der Datenbank steht nix - meinetwegen kann sie also auch gelöscht werden, sollte das hilfreich sein. Das Passwort mit den vielerorts genannten Methoden neu zu setzen funktioniert nicht bzw ändert an o.g. Fehlermeldung nichts.

Kann ich irgendwie prüfen, ob die Installation korrekt ist oder ob da was schiefgelaufen ist? Das ist das einzige, was ich mir noch vorstellen kann.

Aber ich bin für jeden Tipp offen und nehme jede Hilfe gerne an. System ist SuSE 9.3 mit Nachinstalliertem MySQL 5.1 Server und Webmin. Ich habe vollen root-Zugriff (und versuche als solcher eben auch, zuzugreifen).

Danke!

Beste Grüße,
Felix

Luzi P
27.02.08, 09:37
GUten Morgen,

wie gehst Du vor, um Dich einzuloggen?

Grüße, LP

corresponder
27.02.08, 09:39
hast du den mysql root user angelegt?


gruss

c.

Das Pferd
27.02.08, 09:54
Moin -


nach dem Einloggen als root via Putty habe ich unter anderem die folgenden Varianten probiert:


mysql -u root

mysql -u root -p

mysql --skip-grant-tables

Daß ich den MySQL root User angelegt hätte wüsste ich nicht (ich muss dazu sagen, daß ich in meiner jetzt rund 4jährigen Linuxabstinenz alles wieder verlernt habe). Genau das macht mich ja so stutzig. Einen user "mysql" gibt es hingegen, ohne passwort. Mit dem kann ich aber auch nix anfangen.

Gruß,
Felix

corresponder
27.02.08, 10:03
hi,

es gibt zig anleitungen im netz, den root user anzulegen, darum such ich jetzt nicht für dich... ;-)


gruss

c.

Luzi P
27.02.08, 10:09
Du solltest den mysql-Server mit --skip-grant-tables starten, dann kann der user mysql auch den user root anlegen.

Weitere Anleitungen findest Du hier: http://www.google.de/linux?hl=de&q=mysql+user+root+anlegen&btnG=Suche&meta=lr%3Dlang_de

Wenns dann nicht geht, kannst Du Dich ja melden, und sagen, was Du gemacht hast.

Grüße, LP

Das Pferd
27.02.08, 10:31
Hi,


die Sache mit "mysqld --skip-grant-tables" klappt nicht, wie ich schon oben schrieb. Das quittiert er mit


[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

080227 11:27:46 [ERROR] Aborting

080227 11:27:46 [Note] mysqld: Shutdown complete

Und ich bitte doch um die (funktionierende) Anleitung zum Anlegen des root users, denn die Suche hat nichts hilfreiches ergeben.

Beispielsweise ein "myqsl_install_db" erzeugt:


Installing MySQL system tables...
ERROR: 1136 Column count doesn't match value count at row 1
080227 11:29:52 [ERROR] Aborting

080227 11:29:52 [Note] /usr/sbin/mysqld: Shutdown complete

Ich bin da ratlos und Verweise auf Google, das erwähnte ich bereits, helfen mir nicht. Ich habe Google ausgepresst. Vielleicht mit falschen Suchbegriffen. Aber solange ich die Ursache des Fehlers nicht kenne, komme ich da nicht weiter.

Gruß,
Felix

Luzi P
27.02.08, 10:54
Wie hast Du mysql installiert?

Versuchs mal mit --skip-grant-tables --user=mysql

corresponder
27.02.08, 10:54
superuser anlegen:

shell> mysql -u root mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
mysql> FLUSH PRIVILEGES
shell> mysql -u root mysql

update:

mysql> UPDATE user SET Password=PASSWORD('new_password') WHERE user='root';
mysql> FLUSH PRIVILEGES;



Another way to set the password is by using the mysqladmin command:

shell> mysqladmin -u root password new_password

Das Pferd
27.02.08, 11:08
Hi,


@corresponder: Klappt beides nicht, da bekomme ich immer o.g. Fehler (1045)

@Luzi P: Aaahhh, Regung auf deinen Vorschlag:


080227 12:05:40 InnoDB: Started; log sequence number 0 692127
080227 12:05:40 [ERROR] Column count of mysql.db is wrong. Expected 22, found 15. Created with MySQL 0, now running 50123. Please use mysql_upgrade to fix this error.
080227 12:05:40 [ERROR] mysql.user has no `Event_priv` column at position 29
080227 12:05:40 [ERROR] Event Scheduler: An error occurred when initializing system tables.
080227 12:05:40 [Note] mysqld: ready for connections.
Version: '5.1.23-rc-community' socket: '/var/lib/mysql/mysql.sock' port: 0 MySQL Community Edition (GPL)


Auf mein mysql_upgrade antwortet er mit


Looking for 'mysql' in: /usr/bin/mysql
Looking for 'mysqlcheck' in: /usr/bin/mysqlcheck
Running 'mysqlcheck'...
/usr/bin/mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when trying to connect
FATAL ERROR: Upgrade failed

Das ist ja schonmal was. Also Aktivität wenigstens.
Installiert habe ich die 5.1er via rpm (rpm -U ...) - oder was war gemeint?

Gruß,
Felix

Luzi P
27.02.08, 11:28
Na, für das Upgrade muss der Server schon laufen?

corresponder
27.02.08, 11:39
so oder so sollte der mysql server laufen.


gruss

c.

Das Pferd
27.02.08, 14:30
Ja, klar sollte er laufen. Tut er ja auch.

Das Pferd
27.02.08, 17:33
Problem erstmal (scheinbar) gelöst: Nach Neustart des Servers durch den user mysql sah die Lage gleich ganz anders aus und der Zugriff war endlich möglich.