Linux
輸入新的 MySQL 根密碼時打錯字並忘記關閉引號
在 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
如果以某種方式不起作用,請使用 a
killall
殺死所有實例mysqld
:killall mysqld
然後像往常一樣再次啟動 MySQL 服務:
sudo service mysql start
應該設置新密碼,一切順利。