首页 > 解决方案 > mysqli::__construct(): (HY000/1045): Access denied for user 'username'@'localhost' (使用密码: YES)

问题描述

自从我没有使用 php 并且连接到 MySQL 时出现错误已经有一段时间了。

我试过的:我尝试了用户名root,空密码并给出了同样的错误,但是当尝试实际机器的ip时,它给我的ip是不允许连接到这个MariaDB服务器。

    <?php
   $servername = "localhost";
   $username = "username";
   $password = "password";
   $dbname = "MyGuests";

   // Create connection
   $conn = new mysqli($servername, $username, $password, $dbname);
   // Check connection
   if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
   }else echo "connection sucessfull";

其他错误:在 phpmyadmin localhost 中,当我单击用户帐户选项卡时,它给了我 #126 - 表 '.\mysql\user.MYI' 的索引已损坏;尝试修复它。

标签: phpmysqloop

解决方案


我尝试了用户名root,空密码并给出了同样的错误

所以错误不言自明,访问被拒绝..仔细检查权限,是否允许root帐户连接和使用该数据库?创建一个新用户帐户并尝试使用它登录 phpMyAdmin,然后您可以访问数据库 MyGuests 吗?

当尝试实际机器的 IP 时,它给我的 IP 不允许连接到这个 MariaDB 服务器

确保您允许用户名从主机名127.0.0.1(或您要连接的 IP,如果不是 localhost)连接。签入mysql.users,您应该会看到主机名和用户。通过用户帐户在 phpmyadmin 中。

其他错误:在 phpmyadmin localhost 中,当我单击用户帐户选项卡时,它给了我 #126 - 表 '.\mysql\user.MYI' 的索引已损坏;尝试修复它。

这可能是一个原因:这是存储用户帐户的地方。可以通过以下查询修复它:REPAIR TABLE mysql.user


推荐阅读