2016-02-13 20 views
0

以root身份:使用正確憑據拒絕訪問,發生了什麼?

GRANT ALL PRIVILEGES ON * . * To 'JKR'@'%' IDENTIFIED BY ""; 
FLUSH PRIVILEGES; 

在PHP:

$con = new PDO("mysql:host=127.0.0.1;dbname=jkr;charset=utf8", "JKR", ""); 

錯誤消息:

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'jkr'' in C:\xampp\www\jkr\core\connect.php:6 

僅能作爲根出於某種原因... 還怎麼來的,我得到Access denied for user ''@'localhost'

+0

JKR'@'%'是用戶名和= 127.0.0.1; dbname = jkr; charset = utf8「是jkr Schemaname –

+0

你是什麼意思? – spelgubbe

+0

對不起,我還沒看過所有 –

回答

0

很可能你的系統上有匿名用戶''@'localhost'。匿名用戶是名稱被忽略的用戶。

如果你連接到MySQL,JKR來自localhost它會匹配你與匿名用戶。

您可以檢查使用SELECT User, Host from mysql.user;

https://dev.mysql.com/doc/refman/5.7/en/connection-access.html有關MySQL的匹配用戶和pemissions的方式的詳細討論。