MySQL通过PHP脚本访问时告诉我凭据不正确

时间:2015-09-08 00:22:43

标签: php mysql database

我可以使用

访问我的数据库
mysql -u root -p

然后输入我的密码。

但是当我尝试通过php脚本登录时

$link = mysqli_connect('localhost', 'root', 'mypassword');

我收到以下错误

Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in /Library/WebServer/Documents/connect/index.php on line 6

当我跑步时

SELECT USER(),CURRENT_USER();

在MySQL中,我得到以下内容(重新格式化)

root@localhost | root@localhost

所以我知道我的登录功能中的三个参数是正确的,但我无法登录。

我将不胜感激。

编辑:以下是拨款

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*0503AA35367B049092549C66DFE0D6C3AA3C4970' WITH GRANT OPTION || GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION 
编辑:只是为了明确,解决我问题的是使用127.0.0.1而不是localhost。

1 个答案:

答案 0 :(得分:3)

此错误通常是因为用户名密码组合不正确。

用户root通常没有密码,除非您已添加密码。尝试进入PHPMYADMIN或其他配置文件并挖掘root的密码。

另一个发行人是,您可以尝试连接到特定数据库(fourth的{​​{1}}参数并对用户mysqli_connect执行SHOW GRANTS)以确保您拥有特权。 root可能没有必要的拨款,我认为这可能会发生。

https://dev.mysql.com/doc/refman/5.0/en/show-grants.html

编辑:在评论中回答,将root更改为localhost,更喜欢服务器托管环境中的一些配置内容