我可以使用
访问我的数据库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。
答案 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
,更喜欢服务器托管环境中的一些配置内容