mysql修改密碼,密碼正確但提示拒絕連接,可以 用下面第一種方法


每個地方編碼設置都是正常,但是用PHP添加的數據能正常顯示中文,要數據庫裏的動添加的記錄網頁卻顯示亂碼,原因暫時末知。。。。

這兩天在MyEclipse中開發Web項目時,連接MySQL數據庫,出現問題:Access denied for user 'root'@'localhost' (using password:YES)。

        經查找資料發現是root帳戶默認不開放遠程訪問權限,所以需要修改一下相關權限。

      解決方案:
  1. 打開MySQL目錄下的my.ini文件,在文件的最後添加一行“skip-grant-tables”,保存並關閉文件。(WIN7默認安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
  2. 重啓MySQL服務。
  3. 通過命令行進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入數據庫。(WIN7默認安裝,BIN目錄爲:C:\Program Files\MySQL\MySQL Server 5.6\bin)
  4. 執行“use mysql;”,使用mysql數據庫。
  5. 執行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
  6. 打開MySQL目錄下的my.ini文件,刪除最後一行的“skip-grant-tables”,保存並關閉文件。
  7. 重啓MySQL服務。
  8. 在命令行中輸入“mysql -u root -p 123456”,即可成功連接數據庫。

      完成以上步驟,MyEclipse也可成功連接mysql了。






第二種方式:

 

方法1: 用SET PASSWORD命令   

 

首先登錄MySQL。  

 

格式:mysql> set password for 用戶名@localhost = password('新密碼');  

 

例子:mysql> set password for [email protected] = password('123');  

 

 

 

方法2:用mysqladmin   

 

格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼  

 

例子:mysqladmin -uroot -p123456 password 123  

 

 

 

方法3:用UPDATE直接編輯user表   

 

首先登錄MySQL。  

 

mysql> use mysql;  

 

mysql> update user set password=password('123') where user='root' and host='localhost';  

 

mysql> flush privileges;  

 

 

 

方法4:在忘記root密碼的時候,可以這樣   

 

以windows爲例:   

 

1. 關閉正在運行的MySQL服務。  

 

2. 打開DOS窗口,轉到mysql\bin目錄。  

 

3. 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啓動MySQL服務的時候跳過權限表認證。  

 

4. 再開一個DOS窗口(因爲剛纔那個DOS窗口已經不能動了),轉到mysql\bin目錄。  

 

5. 輸入mysql回車,如果成功,將出現MySQL提示符 >。  

 

6. 連接權限數據庫: use mysql; 。  

 

6. 改密碼:update user set password=password("123") where user="root";(別忘了最後加分號) 。  

 

7. 刷新權限(必須步驟):flush privileges; 。  

 

8. 退出 quit。  

 

9. 註銷系統,再進入,使用用戶名root和剛纔設置的新密碼123登錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章