2012-11-15 74 views
0

創建數據庫時,我嘗試創建XAMPP MySQL命令窗口,一個新的數據庫(M),然後我收到一條錯誤消息不能XAMPP MySQL命令窗口

「ERROR 1044(42000):用戶'@'localhost'拒絕訪問數據庫 'm'「。

然後,我使用phpmyadmin創建了該數據庫,但是在我輸入show databases命令時沒有在mysql命令窗口中顯示該數據庫。任何人都可以告訴我如何擺脫該錯誤消息,並可以通過在xampp中使用mysql命令窗口成功創建新的數據庫? (我使用的是Windows XP專業服務包-2)

- 謝謝。

+0

編輯:我的xampp文件 - 'xampp-win32-1.8.1-VC9-installer',安裝過程很好,我保留所有的默認設置,沒有任何改變。 – user1826381

+0

編輯2:mysql> show databases; + -------------------- + |數據庫| + -------------------- + | information_schema | |測試| + -------------------- + 設置2行(0.00秒) mysql> use test; 數據庫已更改 mysql> use m; 錯誤1044(42000):訪問拒絕用戶'''localhost'到數據庫'm' – user1826381

+0

編輯3:可以創建新數據庫,所有操作都可以通過使用phpmyadmin完成,但該數據庫不會顯示在mysql命令窗口中並且不能通過使用「創建數據庫」命令來創建新的數據庫。但是可以使用默認的'test'數據庫,並且可以在其中創建和使用表。不能在那裏創建任何新的數據庫。 – user1826381

回答

0

解決: **感謝所有的善意回覆。我解決了這個問題。

我使用phpmyadmin在'mysql'數據庫中更改'user'表,並將字段設置爲'Y',而那些'N'的主機爲'localhost'(因此localhost無法創建或刪除任何數據庫)。現在可以通過'xampp \ mysql \ bin \ mysql.exe'創建新的數據庫。

和* *獲得。FRM(表定義),在MySQL數據目錄表.MYD(數據表),.MYI(表索引)的文件,我設置類型= MyISAM數據collat​​ion = utf8_general_ci所以很容易將數據庫複製到其他PC或服務器。

0

你是否以root身份登錄?

瀏覽到包含foler,並嘗試在CMD中輸入這個的mysql.exe:

mysql.exe -u root --password 
+0

我剛安裝了xampp。沒有用戶名或密碼。我可以通過使用'測試'數據庫創建表,默認情況下有數據庫,但不能創建新的數據庫。 – user1826381

+0

總是有一個root用戶,所以試着用它登錄,當你在命令提示符中執行上述命令時會發生什麼? –

+0

鍵入'help'或'\ h'尋求幫助。輸入'\ c'清除當前的輸入語句。 mysql> mysql.exe -u root --password; 錯誤1064(42000):您的SQL語法錯誤;檢查手冊說明 對應於您的MySQL服務器版本的正確語法使用附近'mysql .exe -u root -password'在第1行 mysql> – user1826381

0

嘗試啓動你的MySQL客戶端與特定的用戶名和密碼(如果您已設置一個)

mysql.exe -uroot [-p] 

編輯: 添加到您的my.cnf [客戶]節的登錄不帶任何參數

[client] 
user=root 

http://dev.mysql.com/doc/refman/5.5/en/mysql-command-options.html

+0

我不使用任何用戶名或密碼。只是安裝了xampp。 – user1826381

+0

您始終擁有默認的用戶名root,無需密碼。通過在您的SQL窗口中輸入'SELECT CURRENT_USER;'來驗證您的用戶名,在phpMyAdmin –

+0

'@localhost'是當前用戶。 – user1826381

0

我知道你已經解決了這個問題。我有同樣的問題,但答案很簡單。答案:如果你在瀏覽器中輸入「localhost」,選擇語言後,你可以選擇「phpmyadmin」。正如你所說,你可以點擊「數據庫」選項卡,然後從數據庫列表中選擇「mysql」,最終你可以看到這個數據庫的最後一個表是「用戶」表。如果你點擊「瀏覽」按鈕位於「用戶」表的名稱前面。現在您可以詳細查看「用戶」表。您可以在「主機」列下看到3個「localhost」單元,但其中只有一個在「用戶」列 列中具有「root」值如果你想通過命令提示符連接mysql,如果你還沒有設置密碼,(c:\xampp\mysql\bin\mysql.exe -u root)而不是 (c:\xampp\mysql\bin\mysql.exe)或不(c:\xampp\mysql\bin\mysql.exe -u root -p)。