MySQL root使用者忘記密碼解決方案(安全模式,修改密碼的三種方式),mysqlroot

來源:互聯網
上載者:User

MySQL root使用者忘記密碼解決方案(安全模式,修改密碼的三種方式),mysqlroot

1.關閉正在啟動並執行MySQL
2.啟動MySQL的安全模式,命令如下:

mysqld --skip-grant-tables

or

mysqld-nd --skip-grant-tables


3.使用root使用者[免密碼]登陸MySQL
mysql -u root -p

輸入密碼時,直接斷行符號
4.選擇MySQL系統庫
use mysql


5.查看當前系統使用者root的密碼
select user,host,password from user where user="root"

查看的password是經過加密的,若以後想要恢複當前密碼可以先運行這條命令備份一下當前的密碼
6.修改root使用者的密碼
update user set password=PASSWORD("your_password") where user="root"

這裡是直接修改了root使用者在所有登陸位置的密碼,若你僅僅只想修改root在某一處的密碼,可以在上一條命令中增加一個限定條件host='somewhere'
比如,下面的命令修改了root使用者在本機localhost的登陸密碼
update user set password=PASSWORD("your_password") where user="root" and host="localhost"

上面的操作是直接對MySQL系統庫mysql進行修改,安全性較低,一旦出現誤操作,成本高,難恢複,並且僅限於對mysql庫有UPDATE許可權的使用者,MySQL本身為我們提供了一種更加簡便的操作方式,在此作一下簡單的介紹
修改當前登陸使用者的密碼,使用SELECT CURRENT_USER();可查看當前登陸使用者
SET PASSWORD = PASSWORD('cleartext password');


修改bob使用者在%.example.org位置上的登陸密碼,注意這裡的host地址%.example.org是必須要存在的

SET PASSWORD FOR 'bob'@'%.example.org' = PASSWORD('cleartext password');

當然我們也可以通過GRANT的方式修改密碼
GRANT USAGE ON *.* TO 'bob'@'%.example.org' IDENTIFIED BY 'cleartext password';

關於修改密碼的詳細內容還是請見官方文檔(5.6)
http://dev.mysql.com/doc/refman/5.6/en/set-password.html
7.重新整理一下系統的許可權
flush privileges;

8.關閉MySQL的安全模式,重新啟動即可

注:

在第2步,啟動安全模式的時候,命令列可能會一直處於掛起狀態,此時Ctrl+c也不能終止運行,這時候只要通過netstat -ao查看MySQL連接埠是否處於監聽狀態,如是即代表MySQL已經進入了安全模式,出現這種現象是主要因為MySQL不提倡安全模式長時間運行

使用mysql命令串連資料庫時可能會出現如下錯誤:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
網上關於此錯誤的描述有很多,我們知道MySQL的預設連接埠是3306,當以其他連接埠啟動服務時,使用mysql命令又沒有指定對應的連接埠,當然就無法串連Server啦

附加資訊:
MySQL官方文檔(5.5) http://dev.mysql.com/doc/refman/5.5/en/index.html
MySQL官方文檔(5.6) http://dev.mysql.com/doc/refman/5.6/en/index.html
以此類推...

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。