• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] kann MySQL root Passwort nicht ändern +kein Zugriff

ldi

Member
Ich bekomme folgende Fehlermeldung beim Versuch das Root Passwort zu setzten / zu ändern (normale SUSE 10.0 Installation):

Code:
[b]Server:/home/ldi # whoami
root
Server:/home/ldi # mysqladmin -u root password test
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Server:/home/ldi #
Server:/home/ldi # mysqladmin -h Server.site -u root password test
mysqladmin: connect to server at 'Server.site' failed
error: '#HY000Host 'Server.site' is not allowed to connect to this MySQL server'
Server:/home/ldi #[/b]


Voraussetzung:
Suse 10 Server im LAN, Zugriff per VNC als Root.

Habe hier gesucht und auch gegoogelt, habe das Installations Script mysql_install_db ausprobiert -> keine Wirkung.

Die /etc/host sieht so aus (und sollte stimmen)
Code:
[b]#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#    
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
192.168.0.10    Server.site Server
[/b]


Ich habe schon mehrer Suse 9.3 + 10 er installiert und noch sie sowas gehabt. Will doch nur n root Passwort vergene und auch Zugriff haben!

Danke für gute Tips !

Sascha
 

panamajo

Guru
Bevor mysqladmin dich irgendetwas machen lässt musst du dich authentifizieren:
Code:
# mysqladmin -u root -p password test
Dann bekommst du ein PW Prompt bei dem du das alte PW angeben musst. Erst dann interessiert sich mysqladmin für den Rest der Optionen.

Der mysql User root hat überhaupt nichts mit dem Linux User root zu tun. Die heißen nur aus traditionellen Gründen gleich, auch ein piepnormaler Linux User kann sich als MySQL root anmelden so er denn das PW kennt.
 
OP
ldi

ldi

Member
Danke für die Antwort aber es kommt keine Passwortabfrage, siehe mein Copy im Thread der Ein- und Ausgabe.

wenn ich auf der Konsole (ALS ROOT) folgendes eintippe :
Code:
mysqladmin -u root password test

kommt keine Passwortabfrage eines alten Passworts, es kommt direkt:

Code:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'


Wenn ich jedoch folgendes eintippe:
Code:
mysqladmin -u admin ping

kommt als Ausgabe:
Code:
mysqld is alive


Wenn ich den Ping als root mache, kommt:

Code:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

????
 
OP
ldi

ldi

Member
ok, ich bekomme dann einen Propt, aber da ich noch überhaupt kein PW vergeben habe, kann ich auch keins eintippen. Es kommt

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Server:/ # mysqladmin -u root -p password test
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
Server:/ #

Kannst Du mir erklären, warum der Ping als Admin geht und als Root nicht, siehe oben ? Ich denke am Datenbankuser root ist irgendwas verbastelt.
 
ldi schrieb:
Kannst Du mir erklären, warum der Ping als Admin geht und als Root nicht, siehe oben ? Ich denke am Datenbankuser root ist irgendwas verbastelt.
Hmmm, ich hab das gerade mal an eine frischen Installation nachvollzogen.
Offensichtlich existiert ein mysql-User "admin", für den kein kein Passwort gesetzt ist. :shock:

Nach der Installation existiert kein root-PW
Kann mit
Code:
mysqladmin -u root password new-password
gesetzt werden.

Wenn für root dann ein Passwort gesetzt ist kann es mit
Code:
mysqladmin -u root -p password new-password
Enter password: <Eingabe altes PW>
geändert werden.

Nachtrag:
Ansonsten gibt es noch die "Holzhammer"-Methode:
Während mysql läuft (als root):
Code:
rm /var/lib/mysql/mysql/*
mysql_install_db
rcmysql force-reload

Damit wird die Datenbank "mysql" (Einstellungen für mysql) gelöscht, neu geschrieben und die Config neu eingelesen.
 
OP
ldi

ldi

Member
:D Herzlichen Dank an b3ll3roph0n !!!

Die Holzhammer-Methode hat geklappt :D :D :D :D

Endlich kann ich mich als root einloggen und wieder arbeiten. Einer Joomla Installation steht nun nix mehr im Wege.

Ich danke Dir recht herzlich für den Tip !

Und für alle anderen (die es nicht glauben können):

Code:
mysqladmin -u root -p password new-password
hat bei nicht nicht geklappt ! Es kam immer ne Fehlermeldung und zwar diese hier:

Code:
mysqladmin: connect to server at 'localhost' failed 
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
 
Oben