Welches ist der einfachste Weg, um das MySQL-Root-Passwort zurückzusetzen?

Antworten:

5

Es gibt auch einen administrativen Benutzer, der root entspricht: debian-sys-wart. Mit diesem Konto können Sie das Passwort von root zurücksetzen. Das Passwort finden Sie unter /etc/mysql/debian.cnf

Tumbleweed
quelle
5

Sie können eine SQL-Datei erstellen, beispielsweise /root/mysql.reset.sqlmit dem Inhalt:

UPDATE mysql.user SET Password=PASSWORD('yourpassword') WHERE User='root';
FLUSH PRIVILEGES;

Und ruf einfach an:

mysqld_safe --init-file=/root/mysql.reset.sql

Ist sehr hilfreich, wenn Sie die Gewohnheit haben, Passwörter häufig zu vergessen.

tamilsweet
quelle
1
sudo dpkg-reconfigure mysql-server-5.5

Sie können die Registerkarte vollständig nach verwenden, mysql-server-wenn Sie eine andere Version von MySQL verwenden.

Colin Pickard
quelle
1

Die Antwort von Tumbleweed war die einzige, die mir geholfen hat. Ich hatte es mit einem möglicherweise beschädigten Root-Benutzer zu tun, und keine der Standardmethoden löste das Problem, dass ich mich nicht als Root anmelden konnte.

Mit dem Benutzer debian-sys-wart konnte ich mich endlich mit eskalierten Berechtigungen bei MySQL anmelden, und selbst dann funktionierte das Zurücksetzen des Root-Passworts nicht.

Ich konnte jedoch den Root-Benutzer neu erstellen:

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY '<newpassword>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

... und endlich war alles wieder in Ordnung mit der Welt!

Ich hoffe das hilft einer verzweifelten Seele da draußen ...

Bestätiger
quelle
0
  1. Stoppen Sie den MySQL Server.

    sudo /etc/init.d/mysql stop
    
  2. Starten Sie die mysqld-Konfiguration.

    sudo mysqld --skip-grant-tables &
    
  3. Melden Sie sich bei MySQL als root an.

    mysql -u root mysql
    
  4. Ersetzen Sie IHR NEUES PASSWORT durch Ihr neues Passwort!

    UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
    
Chetan Rathod
quelle
0
  1. sudo /etc/init.d/mysql stop
  2. sudo mkdir /var/run/mysqld/
  3. sudo chown mysql /var/run/mysqld/
  4. sudo mysqld_safe --skip-grant-tables &
  5. sudo mysql -u root
  6. use mysql;
  7. update user set authentication_string=PASSWORD("New_Passwore_Here") where User='root';
  8. flush privileges;
  9. exit;
  10. sudo /etc/init.d/mysql stop
  11. sudo /etc/init.d/mysql start
samson mwanzia
quelle
Hallo und willkommen bei AU. Ihre Antwort könnte richtig sein, sollte aber dokumentiert werden: Es wird nicht empfohlen, nur eine Anweisungsliste anzugeben. In diesem Fall sehe ich kein Problem, aber wenn ein Benutzer etwas falsch eingibt, kann dies im Allgemeinen zu unerwünschten Ergebnissen führen. Sie verwenden 'sudo' auch dann, wenn es nicht erforderlich ist ( sudo mysql...), was möglicherweise gefährlich ist.
Marc Vanhoomissen