Server:MySQL-root-Passwort vergessen und neu setzen/zurücksetzen: Unterschied zwischen den Versionen

Aus manitu Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 38: Zeile 38:
 
Wenn Sie möchten, löschen Sie nun die Bash-Historie via
 
Wenn Sie möchten, löschen Sie nun die Bash-Historie via
  
<pre>$ unset HISTORY</pre>
+
<pre>$ unset HISTFILE</pre>
  
 
damit das neue Passwort nicht in der Historie auftaucht.
 
damit das neue Passwort nicht in der Historie auftaucht.
Zeile 53: Zeile 53:
 
Starten Sie nun wieder den regulären MySQL-Dienst:
 
Starten Sie nun wieder den regulären MySQL-Dienst:
 
<pre>$ /etc/init.d/mysql start</pre>
 
<pre>$ /etc/init.d/mysql start</pre>
 +
 +
= Links =
 +
 +
* [http://dev.mysql.com/doc/refman/5.1/de/resetting-permissions.html Anleitung auf mysql.com zum Zurücksetzen eines root-Kennworts]
  
 
[[Kategorie:Root-Server]][[Kategorie:MySQL (Server)]][[Kategorie:Linux (Server)]]
 
[[Kategorie:Root-Server]][[Kategorie:MySQL (Server)]][[Kategorie:Linux (Server)]]

Aktuelle Version vom 7. April 2012, 14:57 Uhr

Diese Anleitung zeigt Ihnen, wie Sie ein vergessenes MySQL-root-Passwort neu setzen können.

Hinweise

Diese Anleitung geht davon aus,

  • dass der MySQL-Server installiert ist und prinzipiell läuft
  • dass Sie die Möglichkeit haben, den MySQL-Dienst für kurze Zeit zu stoppen (dies ist zwingend nötig)
  • dass Sie auf dem MySQL-Server als root eingeloggt sind (alternativ führen Sie die genannten Befehle via sudo als Benutzer root aus)

Anleitung

Diese Anleitung beschreibt einen Weg über 2 Shells. Es gibt weitere Methoden über eine einzige Shell und mit Hilfe einer initialen SQL-Datei, die dem MySQL-Dienst mitgegeben wird. Diese sind im Ergebnis gleichwertig, teilweise nur komplizierter.

Schritt 1: Stoppen des MySQL-Dienstes

Stoppen Sie den MySQL-Dienstes :

$ /etc/init.d/mysql stop

Schritt 2: Starten eines temporären MySQL-Dienstes ohne Benutzer-/Rechtekontrolle

Starten Sie den MySQL-Dienst manuell mit zwei Zusatzoptionen, die aus Sicherheitsgründen alle Netzwerk-Verbindungen deaktivieren (--skip-networking) und die Benutzer-/Rechtekontrolle von MySQL deaktiviert (--skip-grant-tables):

$ mysqld_safe --skip-networking --skip-grant-tables

Sollte mysqld_safe auf Ihrem System nicht vorhanden sein, versuchen Sie bitte alternativ einfach nur mysqld.

Schritt 3: Setzen des neuen Passworts

Öffnen Sie eine weitere Shell auf den MySQL-Server und führen Sie die Befehle

$ mysqladmin -u root password "[NEUES_PASSWORT]"
$ sync

aus, ersetzen Sie dabei [NEUES_PASSWORT] durch Ihr neues Passwort. Die Anführungszeichen sollten Sie nicht entfernen, damit auch Passworte mit Sonderzeichen, die in der Shell besondere Bedeutungen haben (z.B. $ oder ?), korrekt behandelt werden.

Wenn Sie möchten, löschen Sie nun die Bash-Historie via

$ unset HISTFILE

damit das neue Passwort nicht in der Historie auftaucht.

Schließen Sie diese zweite Shell wieder.

Schritt 4: Stoppen des temporären MySQL-Dienstes

Wechseln Sie zur ersten (und nun einzigen) Shell und unterbrechen Sie die Ausführung des manuell gestarteten MySQL-Prozesses via

[strg] + [c]

Schritt 5: Starten des regulären MySQL-Dienstes

Starten Sie nun wieder den regulären MySQL-Dienst:

$ /etc/init.d/mysql start

Links