2011-04-05 191 views
4

我是PHP新手。在執行我的應用程序時,我得到了以下錯誤:訪問被拒絕用戶'root'@ localhost mysql錯誤1045

在phpMyAdmin的代碼是這樣的

$cfg['Servers'][$i]['auth_type'] = 'config'; 
$cfg['Servers'][$i]['user'] = 'root'; 
$cfg['Servers'][$i]['password'] = ''; 
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true; 

正如我已經收回了,我上面的代碼更改爲

$cfg['Servers'][$i]['auth_type'] = 'config'; 
$cfg['Servers'][$i]['user'] = 'root'; 
$cfg['Servers'][$i]['password'] = 'Pass123'; 
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true; 

現在我得到以下錯誤

訪問被拒絕用戶'root'@'localhost'(使用密碼:YES)MySQL錯誤#:1045

請讓我知道,出了什麼錯在這裏。

+0

你有沒有確認是否1)你有正確的用戶名/密碼? 2)你的域名是否可以實際連接到mysql服務器(使用phpMyAdmin來驗證) – JohnP 2011-04-05 04:43:33

+0

你有沒有做過一點搜索,請參閱http://stackoverflow.com/questions/2912761/beginner-mysql-error-access-denied http ://stackoverflow.com/questions/2540794/unable-to-access-mysql-from-myphpadmin-after-setting-root-password-in-easyphpwam http://stackoverflow.com/questions/3532868/mysql-error- 1045-access-denied – gideon 2011-04-05 04:45:07

+0

分享一些代碼....所以我們可以幫忙,似乎你沒有通過正確的密碼到函數mysql_connect – Necronet 2011-04-05 04:46:05

回答

0

請檢查您在此輸入的密碼。

這樣的錯誤來時候你的密碼是不與原來的密碼匹配。

+0

我怎麼能現在重置密碼 – Gnanendra 2011-04-05 05:31:45

0

確保您是否已經分配給mysql的

+0

不,我沒有給它分配任何密碼......我做了上面我只提到的 – Gnanendra 2011-04-05 05:31:05

+0

,那麼不要在這裏指定密碼'$ cfg ['Servers'] [$ i] ['password'] ='Pass123''刪除'pass123' – Mujahid 2011-04-05 09:19:00

0

可以有與MySQL服務器的問題,並在其上的端口跑。默認值是3306。如果它不工作,改變端口的my.ini(或任何使用mysql-INI文件名),改變在phpMyAdmin的文件夾中config.inc.php端口參考。

所以,這(通過Gnanendra)這裏解釋錯誤

訪問被拒絕的用戶 '根' @ 'localhost' 的(使用密碼:YES)MySQL錯誤#:1045

可能會給出,因爲MySQL服務器沒有正確運行。

還要檢查這個職位對這個問題的詳細信息:

Can't start server: Bind on TCP/IP port: No such file or directory

0

確認密碼是否正確(大寫鎖定?)也許是使用原始IP地址127.0.0.1即

1

沒人這裏提到(出於某種原因),分配給用戶的主機可能是錯誤的。當它說[email protected]這意味着用戶root主機localhost

在一些服務器上,默認root可能不是在localhost。試試這些:

[email protected]

[email protected][yourhostname]

+0

這解決了我的問題! – 2013-04-10 09:16:42

+0

請將此答案標記爲已接受,如果它解決了所有問題。 – Alfo 2013-04-10 14:56:23

+0

我不行。我沒有問這個問題...... – 2013-04-11 23:35:24

2

最浪費了一天的這個問題後,事實證明,我所要做的就是提供非本地主機的主機名。我不知道爲什麼(用戶可以從任何主機連接),但它的工作原理!

[email protected]:~# mysql -u username -h hostname -p 
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g. 

而在PHP:

Test 1807: 
<?php 
$username = "username"; 
$password = "password"; 
$hostname = "actualhostnamenotlocalhost"; 

$con = mysqli_connect($hostname, $username, $password); 

// Check connection 
if (mysqli_connect_errno($con)){ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

mysqli_close($con);  

?> 
OK. 
相關問題