程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Host localhost is not allowed to conn

Host localhost is not allowed to conn

編輯:關於MYSQL數據庫
 一、原因:

  今天在嘗試初始化一個WEB應用的時候,發現其連接不上MySQL,從Traceback看到使用的默認密碼為‘YES’。沒轍,居然嘗試把MySQL的密碼也改成'YES',瘋了...我是瘋子。任意鍵在哪兒呢...

  USE MySQL

  UPDATE uesr SET passWord='YES' where user='root' AND host='localhost';

  FLUSH PRIVILEGES;

  退出控制台後就再進不去了。

  MySQL -u root -p

  MySQL -h localhost -u root -p

  都不行,出現錯誤:

  "Host 'localhost' is not allowed to connect to this MySQL Server."

  二、方法

  首先停止MySQL服務:

  sc stop MySQL

  然後:

  MySQLd --skip-grant-tables

  另開一個終端,繼續

  MySQLcheck --check-upgrade --all-databases --auto-repair

  然後再輸入

  MySQL

  就可以進入MySQL控制台了。這樣進去以後使用SELECT語句會發現密碼使用的是明文:'YES',哈哈,我真是個瘋子。

  三、問題

  以上進去控制台後並不能執行賬戶維護工作。正確的方法為:

  MySQL -u root

  然後使用以下語句將密碼還原為 root 的 HASH 值:

  UPDATE uesr SET password=PASSWord('YES') where user='root' AND host='localhost';

  然後,MySQLd --skip-grant-tables 這個命令似乎只可以在本地運行。

  如果mysql服務無法正常停止,使用命令:MySQLadmin -u root shutdown

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved