Labels

2005 (136) 2004 (99) 2006 (84) 2007 (41) 2008 (41) 簡單生活 (24) 2012 (14) 網頁設計 (14) 電腦技巧 (13) 2009 (12) 2010 (10) PHP (10) 台灣晃一晃 (9) Learn Note (7) 地球這麼大 (6) 2011 (5) Mysql (3) Smarty (3) Vista (3) 手機待吐 (2) 2014 (1) 2021 (1) Composer (1) Laravel (1) MAC (1) MAMP (1) 新新人類新科技 (1)

20120112

如果,你不小心忘記Mysql的root密碼....

是的,阿批又來了,因為阿批又把root密碼忘記了,會忘記的原因,主要是因為腦海裡的橡皮擦持續擴大了(迷之音:好像不是甚麼值得慶祝的事....

廢話不多說,阿批來教大家解決方法,很好用唷,快偷學起來 :D

阿批是在Linux平台底下工作,所以已Linux來說明,(只要你是用Mysql,應該沒有Linux版本問題,當然Unix也通唷!)
1.關閉你的mysql(因為這樣你才可以修改&儲存它的設定檔)
# service mysqld stop

2.修改MySQL的登入設定:
# ee /etc/my.cnf

在[mysqld]裡加入 skip-grant-tables,這是讓你跳過驗證密碼的程序來進入mysql,接著就儲存&離開嚕。


3.啟動mysqld
# service mysqld start

4.登入並修改MySQL的root密码
# /usr/bin/mysql
此時會出現如下訊息:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

接著我們切換到mysql儲存帳密的資料庫mysql
mysql> USE mysql ;
您會再看到另一個訊息:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed



這時候您就可以大肆(!?)的修改root密碼了!
mysql> UPDATE user SET Password = password ( '填入你的新密碼' ) WHERE User = 'root' ;
輸入上面的指令後按下Enter,就 匯出下如下的訊息
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
更新完密碼,要刷新一下權限才會通唷
mysql> flush privileges ;
一樣刷新後會出現如下訊息告知執行成功。
Query OK, 0 rows affected (0.01 sec)
如果上述步驟你懶得做,其實您可以藉有restart mysql來動作,但上述的指令是最為保險的。
如果沒問題不想在流連了,我們就輸入quit或exit離開吧!
mysql> quit
Bye

喔喔~跟我說Bye了!但接下來我們還有其他事要做.....

是甚麼事.....

就是要將剛剛關掉的Mysql啟動阿.....但.....似乎還有甚麼事要做.....?

沒錯,要將登入設定改回來,不然大家都不用密碼就可以進你的資料庫,你剛剛改的密碼也是多餘的了!


5.将MySQL的登录设置修改回来
# ee /etc/my.cnf
將刚才在[mysqld]加上的skip-grant-tables删除
儲存並且退出ee。

6.重新啟動mysqld
# service mysqld restart

OKOK~現在大家應該可以用新的帳密登入嚕!!!