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

Aus manitu Wiki
Zur Navigation springen Zur Suche springen
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
'''Wenn Sie [https://www.manitu.de/webhosting/ Webhosting]-Kunde sind, können Sie Ihr Datenbank-Passwort im Kunden-Menü einsehen bzw. neu setzen.'''
 +
 +
 
Diese Anleitung zeigt Ihnen, wie Sie ein vergessenes MySQL-root-Passwort neu setzen können.
 
Diese Anleitung zeigt Ihnen, wie Sie ein vergessenes MySQL-root-Passwort neu setzen können.
  
Zeile 7: Zeile 10:
 
* dass der MySQL-Server installiert ist und prinzipiell läuft
 
* 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 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 Befehle via sudo als Benutzer ''root'' aus)
+
* dass Sie auf dem MySQL-Server als ''root'' eingeloggt sind (alternativ führen Sie die genannten Befehle via sudo als Benutzer ''root'' aus)
  
 
= Anleitung =
 
= Anleitung =
  
Als ersten Schritt stoppen Sie den MySQL-Server:
+
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 :
  
 
<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 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 (<code>--skip-networking</code>) und die Benutzer-/Rechtekontrolle von MySQL deaktiviert (<code>--skip-grant-tables</code>):
 +
 
 +
<pre>$ mysqld_safe --skip-networking --skip-grant-tables</pre>
 +
 
 +
Sollte <code>mysqld_safe</code> auf Ihrem System nicht vorhanden sein, versuchen Sie bitte alternativ einfach nur <code>mysqld</code>.
  
<pre>$ /usr/sbin/mysqld --skip-networking --skip-grant-tables</pre>
+
== Schritt 3: Setzen des neuen Passworts ==
  
Öffnen Sie als dritten Schritt nun eine '''weitere Shell''' auf den MySQL-Server und führen Sie die Befehle
+
Ö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 26: Zeile 39:
 
aus, ersetzen Sie dabei <code>[NEUES_PASSWORT]</code> 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. <code>$</code> oder <code>?</code>), korrekt behandelt werden.  
 
aus, ersetzen Sie dabei <code>[NEUES_PASSWORT]</code> 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. <code>$</code> oder <code>?</code>), korrekt behandelt werden.  
  
Schließen Sie nun diese Shell wieder.
+
Wenn Sie möchten, löschen Sie nun die Bash-Historie via
 +
 
 +
<pre>$ unset HISTFILE</pre>
 +
 
 +
damit das neue Passwort nicht in der Historie auftaucht.
 +
 
 +
Schließen Sie diese zweite Shell wieder.
  
Wechseln Sie nun wieder zur ersten Shell und unterbrechen Sie die Ausführung des manuell gestarteten MySQL-Prozesses via
+
== Schritt 4: Stoppen des temporären MySQL-Dienstes ==
<pre>Strg + c</pre>
 
  
'''Wichtig:''' Starten Sie nun den MySQL-Server wieder in den Normalbetrieb:
+
Wechseln Sie zur ersten (und nun einzigen) Shell und unterbrechen Sie die Ausführung des manuell gestarteten MySQL-Prozesses via
 +
<pre>[strg] + [c]</pre>
 +
 
 +
== 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>
 +
 +
= 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 1. Juni 2022, 09:13 Uhr

Wenn Sie Webhosting-Kunde sind, können Sie Ihr Datenbank-Passwort im Kunden-Menü einsehen bzw. neu setzen.


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