在过去一天左右,我无法通过PHP连接到数据库。这是我连接到数据库的代码看起来像什么
$con = mysqli_connect("localhost","root","password","database");
这是一个奇怪的错误。
PHP警告:mysqli_connect():( HY000 / 1045):用户' @' localhost' (在第2行使用密码:是)
如果凭据不正确,我通常会收到错误,但我使用了GUI并使用完全凭据测试了连接,因此这意味着,这不是问题。我刚开始随机收到此错误并重新启动计算机,重新安装MySQL,并重新配置服务器我还试过127.0.0.1
而不是localhost
我localhost
所以我几乎可以完全控制任何事情,而且我没有搞任何导致这个问题的事情。有任何想法吗?
答案 0 :(得分:1)
由于某种原因,该功能正在尝试使用"用户"用户而不是" root"。
您可以通过添加错误链接进一步调试:
$con= mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($con))
;
答案 1 :(得分:0)
问题可能出在mysql服务器配置中。
您可以尝试更改密码和刷新后的权限。
重启mysql!
希望这有帮助!再见。
答案 2 :(得分:0)
我遇到了与这个问题的标题相同的问题,所以请其他人在谷歌上搜索这个问题并希望在Windows上以'skip-grant-tables'模式启动MySql,这就是我所做的。
通过管理员工具服务停止MySQL服务。
修改my.ini配置文件(假设默认路径)
C:\Program Files\MySQL\MySQL Server 5.5\my.ini
在SERVER SECTION中,在[mysqld]下,添加以下行:
skip-grant-tables
所以你有
# SERVER SECTION
# ----------------------------------------------------------------------
#
#The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]
skip-grant-tables
再次启动服务,您应该能够在没有密码的情况下登录数据库。