尝试连接数据库时出现奇怪的错误

时间:2014-04-24 21:12:23

标签: php mysql database localhost connect

在过去一天左右,我无法通过PHP连接到数据库。这是我连接到数据库的代码看起来像什么

$con = mysqli_connect("localhost","root","password","database"); 这是一个奇怪的错误。

  

PHP警告:mysqli_connect():( HY000 / 1045):用户' @' localhost' (在第2行使用密码:是)

如果凭据不正确,我通常会收到错误,但我使用了GUI并使用完全凭据测试了连接,因此这意味着,这不是问题。我刚开始随机收到此错误并重新启动计算机,重新安装MySQL,并重新配置服务器我还试过127.0.0.1而不是localhostlocalhost所以我几乎可以完全控制任何事情,而且我没有搞任何导致这个问题的事情。有任何想法吗?

3 个答案:

答案 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

再次启动服务,您应该能够在没有密码的情况下登录数据库。