2013-03-07 74 views
0

我一直在使用php腳本來連接遠程服務器上的mySQL數據庫,我試圖切換到使用本地服務器。當我嘗試使用下面的腳本連接:將mySQL切換到本地服務器使用php腳本拒絕訪問

<?php 
mysql_connect("localhost", "vinylpsy_singles", "password") or die(mysql_error()); 
mysql_select_db("vinylpsy_singles") or die(mysql_error()); 

$resultNew = mysql_query("SELECT * FROM `table`"); 

?> 

而且正在以下錯誤

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'vinylpsy_singles'@'localhost' (using password: YES) in /Applications/XAMPP/xamppfiles/htdocs/chromeSave/thepopz/php/getSingles_11.php on line 2 
Access denied for user 'vinylpsy_singles'@'localhost' (using password: YES) 

任何一個可以建議我需要什麼調整做什麼呢?

+1

您確定您的本地MySQL上存在用戶名/密碼嗎?此外,mysql函數已被棄用,請使用mysqli或PDO。 – Phix 2013-03-07 04:26:54

+0

確保用戶「vinylpsy_singles」的所有權限。 – 2013-03-07 04:27:25

+0

確保您有權訪問數據庫? – sandip 2013-03-07 04:27:30

回答

1

登錄的SQL服務器的管理員,並運行以下命令:

select * from `mysql`.`user` where `user` = 'vinylpsy_singles' 

確保有要麼在主機列或通配符%「localhost」的一條線。如果這兩者都不成立,那麼您必須使用GRANT命令添加對特定用戶的訪問權限。 MySQL中的用戶被「鎖定」到特定主機(或通配符)。

對於全GRANT使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'vinylpsy_singles'@'localhost' 

但是這個特權當然應該是一樣的,你曾經有過的舊主機。

+0

嗨,馬格努斯,感謝您的回覆我跑了你建議的第一行代碼,它沒有任何回報。然後,我再次運行第二行和第一行,並且有一條本地主機線路。然而我的腳本仍然收到相同的錯誤信息。 – 2013-03-08 01:52:43

+0

好吧,我刪除了密碼參數,它現在正在工作。謝謝! – 2013-03-08 01:57:26

+0

查找用於向登錄名添加權限,主機和密碼的GRANT語法。由於我不知道您的舊登錄名具有什麼特權,因此很難寫出適當的命令。我很高興它幫助:) – 2013-03-08 05:50:20