2012-04-23 202 views
0

我想學習PHP和MySQL,雖然我在MySQL到達章節有人問我使用這個命令來創建數據庫:避免MySQL1044錯誤

CREATE DATABASE publications; 

後,我在mysql控制檯我鍵入它這個錯誤:

ERROR 1044(42000):Access denied for user ''@localhost' to database 'root'

我已經登錄到我的管理員帳戶,所以我覺得特權should't是一個疑難問題已安裝了XAMPP包。

這怎麼解決?

+0

你可以發佈你的PHP代碼? – Tibor 2012-04-23 21:06:07

+0

沒有PHP代碼我使用mysql命令行來做到這一點它是在書「學習PHP,MySql和Javascript的羅賓尼克松 – user1146440 2012-04-23 21:12:42

回答

0

轉到http://localhost/xampp/並設置適當的密碼(在「安全」選項卡中)。如果您使用mysql客戶端程序,請確保使用適當的憑據調用它:mysql -u <username> -p <password>。在創建一些新帳戶之前,用戶名主要是root

那我建議你使用phpMyAdmin了與MySQL試驗(應該是在http://localhost/phpmyadmin/

+0

」中所說的我已經嘗試打字完全是你說的,現在我正在創建一個錯誤1064 – user1146440 2012-04-23 21:35:25

+0

既然你說BluesRockAddict的答案是一樣的,你應該解釋你到底在做什麼。 – Tibor 2012-04-23 21:39:35

+0

我已經嘗試在mysql -u root -p pass,mysql -u root,mysqladmin -u root -p pass中輸入mysql -u -p ,mysqladmin -u root password [mypassword]與我的用戶和通行證一起寫信,我總是得到 - >如果我輸入';' II得到錯誤1064語法錯誤的東西 – user1146440 2012-04-23 21:44:38

0

這是越來越有點困惑 - 讓我嘗試回答這個問題。

Mysqladmin是一個用於管理你的mysql數據庫系統的命令行客戶端 - 你通常不需要在你有mysql工作時運行它。到mysql服務器的shell命令行界面是mysql。 (如果你不知道如何運行shell命令行,這是另一個問題,另外,如果你使用的是Windows,所以說,因爲這有其自身的挑戰。)的參數爲:

mysql -u username -ppassword databasename 

如果您在與mysql相同的服務器上運行此命令。注意-p之後缺少空格,這很重要。

因此,鍵入上面的行來調用mysql的命令行界面。然後你可以輸入你的mysql命令。諸如show tables,desc tablename等等,都可以使用。這是他們將工作,除非你有一個身份驗證問題。但是你會知道你有一個身份驗證問題,因爲當你試圖運行mysql時,它會失敗並出現一些錯誤,例如「拒絕用戶訪問'abc'@'localhost'(使用password:YES)」。這是一個很好的描述性錯誤信息,它指出了問題的確切位置。

這有幫助嗎?

您可以回到使用xampp或其他任何東西,只要您通過檢查命令行確定您知道正確的參數。 (當發生奇怪時總是檢查命令行 - 這比試圖通過其他接口進行調試要容易得多。)

1

您可能升級了EasyPHP的版本,或者您執行了某些操作來禁用root密碼。如果是這樣的話,你應該嘗試爲root重新建立一個密碼。有同樣的問題,這就是我解決它的方法。