2012-03-27 24 views

回答

1

您可能在更新安全性時出錯。

你可以重啓MySQL沒有任何身份驗證並重新連接,看看有什麼地方出了錯:

http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-grant-tables

注意:您需要從正在運行的MySQL服務器做到這一點。

如果您需要幫助理解什麼是錯的安全配置,發佈相關認證表的內容(但不發表您的密碼哈希,作爲一個有效的密碼,可以從哈希重新構建的)。

+0

我在我的服務器上安裝了lampp。如何分開重新啓動mysql服務? – xuqin1019 2012-03-27 01:36:23

+0

我剛剛用選項--skip-grant-tables重新啓動了mysql服務。並連接到沒有用戶名和密碼的MySQL。這次顯示以下錯誤:ERROR 2002(HY000):無法通過套接字'/opt/lampp/var/mysql/mysql.sock'(2)連接到本地MySQL服務器。我真的不知道如何解決這個問題,雖然我是mysql新手 – xuqin1019 2012-03-27 02:03:30

1

如果更改了用戶名,您需要使用「%」不是根用戶登錄。您想要更改主機字段,而不是用戶字段。通常你想授予遠程登錄更少的權限。例如,遠程登錄不會有「DROP」權限。

相同的登錄/密碼組合可以根據他們從哪裏登錄有不同的權限。把用戶名看作他們登錄的名字+主機。

+0

但我很困惑,我無法用用戶名「%」登錄到mysql。我是否因爲mysql把「%」當作特殊字符處理? – xuqin1019 2012-03-27 01:38:04

+0

%是主機中的通配符,但不是用戶名。不知道你做了什麼。 – 2012-03-27 11:57:13