天天看點

MySQL 丢失密碼問題

  重置MySQL密碼:

   停止MySQL服務,使用skip-grant-tables參數啟動    

1

2

<code>service mysqld stop;</code>

<code>mysqld_safe --skip-grant-tables --user=mysql&amp;</code>

   此時無需授權就可以進入到MySQL指令行    

<code>mysql&gt;UPDATE mysql.user SET Password=PASSWORD(</code><code>'...'</code><code>) WHERE User=</code><code>'...'</code> <code>AND Host= </code><code>'...'</code><code>;FLUSH PRIVILEGES;</code>

   以上的操作還是會有一些纰漏:

   重置密碼這個時間段内,任何人都能連接配接MySQL(除非資料庫伺服器屏蔽了外網通路);

   推薦方式:    

3

4

<code>shell&gt;service mysqld stop;</code>

<code>//</code><code>将UPDATE mysql.user SET Password=PASSWORD(</code><code>'...'</code><code>) WHERE User=</code><code>'...'</code> <code>AND Host= </code><code>'...'</code><code>;FLUSH PRIVILEGES;這句SQL語句寫入到mysql有權限讀取的目錄;</code>

<code>mysql&gt;mysqld_safe --init-</code><code>file</code><code>=</code><code>/path/to/init/file</code> <code>--user=mysql &amp;</code>

<code>//</code><code>最後删除該檔案,免得密碼洩露;</code>

   避免重新開機兩次MySQL!!!

   值得一提的是:在MySQL5.6中,使用mysql_config_editor加密.mylogin.cnf 進行登入;隻要該檔案存在,就不用考慮丢失密碼的問題啦!

本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/1346062,如需轉載請自行聯系原作者