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

Aus manitu Wiki
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
 
= Anleitung =
 
= Anleitung =
  
Als ersten Schritt stoppen Sie den MySQL-Server:
+
== Schritt 1: Stoppen des MySQL-Dienstes ==
 +
 
 +
Stoppen Sie den MySQL-Dienstes :
  
 
<pre>$ /etc/init.d/mysql stop</pre>
 
<pre>$ /etc/init.d/mysql stop</pre>
  
Als zweiten Schritt starten Sie den MySQL-Dienst manuell mit zwei Zusatzoptionen, die zum einen Netzwerk-Verbindungen nach außen deaktivieren (aus Sicherheitsgründen) und zum zweiten die Benutzer-/Rechtekontrolle von MySQL deaktiviert:
+
== Schritt 2: Starten des MySQL-Dienstes ohne Benutzer-/Rechtekontrolle ==
 +
 
 +
Starten Sie den MySQL-Dienst manuell mit zwei Zusatzoptionen, die zum einen Netzwerk-Verbindungen nach außen deaktivieren (aus Sicherheitsgründen) und zum zweiten die Benutzer-/Rechtekontrolle von MySQL deaktiviert:
  
 
<pre>$ mysqld_safe --skip-networking --skip-grant-tables</pre>
 
<pre>$ mysqld_safe --skip-networking --skip-grant-tables</pre>
  
Öffnen Sie als dritten Schritt nun eine '''weitere Shell''' auf den MySQL-Server und führen Sie die Befehle
+
== Schritt 3: Setzen des neuen Passworts ==
 +
 
 +
Öffnen Sie eine '''weitere Shell''' auf den MySQL-Server und führen Sie die Befehle
  
 
<pre>$ mysqladmin -u root password "[NEUES_PASSWORT]"
 
<pre>$ mysqladmin -u root password "[NEUES_PASSWORT]"
Zeile 28: Zeile 34:
 
Schließen Sie diese zweite Shell wieder.
 
Schließen Sie diese zweite Shell wieder.
  
Wechseln Sie als vierten Schritt zur ersten (und nun einzigen) Shell und unterbrechen Sie die Ausführung des manuell gestarteten MySQL-Prozesses via
+
== 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
 
<pre>[strg] + [c]</pre>
 
<pre>[strg] + [c]</pre>
  
'''Wichtig:''' Starten Sie als fünften und letzten Schritt den MySQL-Server wieder in den Normalbetrieb:
+
=== Schritt 5: Starten des regulären MySQL-Dienstes ==
 +
 
 +
Starten Sie nun wieder den regulären MySQL-Dienst:
 
<pre>$ /etc/init.d/mysql start</pre>
 
<pre>$ /etc/init.d/mysql start</pre>
  
 
[[Kategorie:Root-Server]][[Kategorie:MySQL (Server)]][[Kategorie:Linux (Server)]]
 
[[Kategorie:Root-Server]][[Kategorie:MySQL (Server)]][[Kategorie:Linux (Server)]]

Version vom 5. April 2012, 03:14 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

Schritt 1: Stoppen des MySQL-Dienstes

Stoppen Sie den MySQL-Dienstes :

$ /etc/init.d/mysql stop

Schritt 2: Starten des MySQL-Dienstes ohne Benutzer-/Rechtekontrolle

Starten Sie den MySQL-Dienst manuell mit zwei Zusatzoptionen, die zum einen Netzwerk-Verbindungen nach außen deaktivieren (aus Sicherheitsgründen) und zum zweiten die Benutzer-/Rechtekontrolle von MySQL deaktiviert:

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

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.

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