2013-02-26 131 views
2

好吧我問這個問題,因爲我試圖尋找最後4個小時的答案。
我甚至不知道我在服務器上做了什麼,它不允許我從本地主機連接。但即使安裝了與mysql安裝相關的任何東西,並且只重新安裝了服務器,它也不會讓我連接。主機'localhost'不允許連接到這個MySQL服務器(#1130)

當我嘗試配置服務器後,我剛安裝它應用安全設置失敗,並給我那個錯誤。

我的服務器安裝在普通的PC上,而不是在任何網站上,PC運行的是win 7,我嘗試了skip-grant-tables選項以及卸載服務器後刪除註冊表項。

如果有人有任何其他選擇給我使用,或者如果您認爲我在這些其他選項中做了錯誤的事情,請告訴我如何解決做正確的事情以及如何做到這一點。

回答

0

您需要添加相關權限並使用skip-grant-tables選項繞過內置安全性。

GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED by 'password'; 

沒有skip-grant-tables標誌,正常重啓。

+0

好吧,我只是爲了解,我該怎麼做?因爲當我嘗試登錄到服務器後用skip-grant-tables啓動服務器時,用命令行shell和coul登錄不要通過工作臺創建用戶。謝謝 – 2013-02-26 11:26:03

+0

從命令行連接時會出現什麼錯誤? 你連接使用: mysql -h localhost -u YourUser -p? – Alejandro 2013-02-26 16:56:59

+0

按照你的指示,我仍然得到錯誤:ERROR 1290(HY000):MariaDB服務器正在運行--skip-grant-tables選項,所以它不能執行這個語句。聲明是:'全部開啓*。*到'root'@'localhost'IDENTIFIED by'xxxxxxx';'。 – Stephane 2017-03-22 09:50:55

3

我在安裝新版本的mysql5.5時也遇到了同樣的問題,但我解決了它。

如果你經過的路徑MySQL的安裝在,Windows中的windows系統,「C:\ mysqlinstalllocation \ BIN」 你可以從這個目錄中運行MySQL查詢, 但如果你已經添加了mysql命令到windows中的路徑選項,在環境變量中,這將幫助您從命令行運行自定義命令,您可以直接從命令提示符中的任何目錄運行它。

只需在mysql.ini文件中的[mysqld]標題下添加「skip-grant-tables」命令,並確保在執行此操作後重新啓動服務器,然後運行mysql,它將起作用。此時,您將無需任何密碼登錄,所以建議此時刪除密碼,這樣您可以在取消跳過授權表命令後輕鬆登錄

並且在刪除密碼,請確保刪除「skip-grant-tables」命令,或者用#註釋掉,然後重新啓動服務器,它將起作用

現在您可以不使用任何密碼進行登錄,並且運行grant命令,並設置你喜歡的任何密碼。

相關問題