• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 正確重置MySQL密碼

    發表于:2013-10-16來源:IT博客大學習作者:王點擊數: 標簽:MySQL
    誰都不想弄丟家門鑰匙,但不管多么小心,時間長了,這樣的事情總會發生幾次。MySQL密碼也是一樣,把它寫在文檔上不太安全,記在腦子里又難免會忘記。

      誰都不想弄丟家門鑰匙,但不管多么小心,時間長了,這樣的事情總會發生幾次。MySQL密碼也是一樣,把它寫在文檔上不太安全,記在腦子里又難免會忘記。

      如果你忘記了MySQL密碼,如何重置它呢?

      下面是錯誤答案:

      首先停止MySQL服務,然后使用skip-grant-tables參數啟動它:

      shell> /etc/init.d/mysql stop

      shell> mysqld_safe --skip-grant-tables &

      此時無需授權就可以進入到MySQL命令行,使用SQL重置MySQL密碼:

      UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...';

      FLUSH PRIVILEGES;

      為什么說它是錯誤答案?因為在單純使用skip-grant-tables參數啟動服務后,除非數據庫服務器屏蔽了外網訪問,否則除了自己,其它別有用心的人也可能訪問數據庫,盡管重置密碼所需的時間很短,但俗話說不怕賊偷就怕賊惦記著,任何紕漏都可能釀成大禍。

      下面是正確答案:

      關鍵點是:在使用skip-grant-tables參數的同時,還要加上skip-networking參數:

      shell> mysqld_safe --skip-grant-tables --skip-networking &

      接著使用SQL重置密碼后,記得去掉skip-networking,以正常方式重啟MySQL服務:

      shell> /etc/init.d/mysqld restart

      上面的方法需要重啟兩次服務,實際上還能更優雅一點,重啟一次即可:

      首先需要把用到的SQL語句保存到一個文本文件里(/path/to/init/file):

      UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...';

      FLUSH PRIVILEGES;

      接著使用init-file參數啟動MySQL服務,

      shell> /etc/init.d/mysql stop

      shell> mysqld_safe --init-file=/path/to/init/file &

      此時,密碼就已經重置了,最后別忘了刪除文件內容,免得泄露密碼。

      提示:本文用到的參數都是通過命令行mysqld_safe傳遞的,實際上也可以通過my.cnf。

      參考:關于重置密碼,官方文檔里有專門的描述:How to Reset the Root Password。

    原文轉自:http://blogread.cn/it/article/3782

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>