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

User root bei MySQL zulassen.

Remad

Member
Hallo,
ich habe SuSe Linux 9.0 Professional bei mir zu Hause. In den letzten Tagen habe ich einen Apache 1.3x, PHP 4.4.x und MySQL-Server und ProFtpd-Server hochgezogen. phpMyAdmin habe ich später auf den Webspace hochgeladen. Er funktioniert zwar auch, aber nur auf dem Benutzer mysql. Wie stelle ich es an, dass MySQL den User root zulässt (#1045 - Access denied for user 'root'@'localhost' (using password: NO)? Und wie setze ich für jeden Nutzer ein Passwort richtig?

Vielen Dank im voraus!

MfG
Remad
 

homer65

Hacker
Hallo,
tippe mal ab, was man im Buch "MySQL 5" von Michael Kofler im Kapitel 11.2.4 "Vergessenes root-Passwort" findet:
Was tun Sie, wenn Sie das root-Passwort für MySQL vergessen haben.
Nun, MySQL hat auch für diesen Fall vorgesorgt. Die erforderliche Vorgehensweise sieht so aus: Sie beenden MySQL und starten ihn anschließend mit der Option skip_grant_tables neu. Damit erreichen Sie, dass beim Start die Tabellen für die Zugriffsrechte nicht geladen werden. Sie können nun das verschlüsselte Passwort für root löschen, MySQL beenden und - jetzt wieder ohne obige Option - neu starten. Anschließend geben Sie dem root-Benutzer ein neues Passwort.
Der erste Schritt besteht darin, MySQL zu stoppen. Unter Linux führen Sie dazu das folgende Kommando aus:
root# /etc/rc.d/mysql stop
Nun tragen Sie die Option skip_grant_tables in die MySQL-Konfigurationsdatei in den Abschnitt [mysqld] ein. Sie finden die Konfigurationsdatei hier:
/etc/my.cnf
# Änderung in my.cnf
...
[mysqld]
skip_grant_tables
...
Anschließend starten Sie den MySQL-Server neu, unter Linux mit diesem Kommando:
root# /etc/rc.d/mysql start
Jetzt können Sie mysql verwenden, um das root-Passwort sowohl für den Hostnamen localhost als auch für den tatsächlichen Rechnernamen neu einzustellen.
root# mysql -u root
Welcome to MySQL monitor.
mysql> USE mysql;
Database changed.
mysql> UPDATE user set password=PASSWORD('neues Passwort')
> WHERE user='root' AND host='localhost';
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE user SET password=PASSWORD('neues Passwort')
> WHERE user='root' AND host='rechnername';
Query OK, 1 row affected (0.00 sec)
Nach diesen Änderungen in der mysql.user Tabelle stoppen Sie den MySQL-Server abermals wie oben beschrieben oder durch das Kommando mysqladmin shutdown. Entfernen Sie nun skip_grant_tables wieder aus der MySQL-Konfigurationsdatenbank, starten Sie den MySQL-Server neu.
 
Oben