Linux

輸入新的 MySQL 根密碼時打錯字並忘記關閉引號

  • October 25, 2021

在 MySQL 中為 root 帳戶輸入新密碼時,我不小心這樣做了:

mysqladmin -u root -p password 'somepassword 

你可以在哪裡看到我錯過了第二個報價。我得到了這樣的東西。

>

所以我輸入'完成語句,現在密碼不起作用。

我不是在問如何重置或恢復密碼(我知道該怎麼做,但我試圖避免重新啟動服務)。問題是:如果出現這種錯字,是否可以在此處輸入密碼。

我知道我可以使用 init 文件啟動 MySQL 伺服器並重置密碼,但我想知道是否有人知道上述內容的含義。是新線嗎?可以手動輸入嗎?

然後只需重置您的 MySQL 密碼。這就是我在 Ubuntu 12.04 中的做法。應該在其他設置中類似地工作。它被認為是一種不安全的重置 MySQL 密碼的方式,因為您必須以基於開放/非憑據的模式啟動 MySQL 才能執行此操作。但是如果你這樣做然後正常重啟MySQL,你應該沒問題。

首先,我停止 MySQL 服務:

sudo service mysql stop

然後我用--skip-grant-tables標誌重新啟動它:

sudo mysqld --skip-grant-tables &

現在您可以像這樣不使用密碼登錄:

mysql -u root mysql

然後我執行以下查詢來重置密碼。請注意,您應該將值更改為YOURNEWPASSWORD您實際想要使用的任何密碼:

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE user='root'; FLUSH PRIVILEGES; exit;

現在完成了,退出 MySQL 並重新啟動守護程序,如下所示:

sudo service mysql restart

如果以某種方式不起作用,請使用 akillall殺死所有實例mysqld

killall mysqld

然後像往常一樣再次啟動 MySQL 服務:

sudo service mysql start

應該設置新密碼,一切順利。

引用自:https://serverfault.com/questions/581793