【问题标题】:MySql Access denied for user ''@'localhost' to database用户''@'localhost'对数据库的MySql访问被拒绝
【发布时间】:2018-11-02 21:56:48
【问题描述】:

我正在尝试使用PHPMysql 连接。当我没有数据库时它工作正常。但是当我尝试连接数据库时出现以下错误。

警告:mysqli::__construct(): (HY000/1044): Access denied for user ''@'localhost' to database 'db_test' in C:\xampp\htdocs\Projects\DemoProject\demo2.php 在线13 连接失败:用户 ''@'localhost' 拒绝访问数据库 'db_test'

我的PHP 代码如下所示。

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

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
else 
    echo "Connected Successfully";
?>

【问题讨论】:

  • 用户是否拥有访问该数据库的指定权限?数据库存在吗?顺便说一句,xampp 中的默认用户是root,没有密码。
  • 是的。数据库存在。但我不确定用户是否有权访问数据库。何去检查或如何授予访问权限?
  • 尝试从cmd运行mysql -u root -p

标签: php mysql


【解决方案1】:

用您的用户名替换用户并使用您的数据库密码传递并运行以下命令授予和刷新root用户的权限。

grant all privileges on db_test.* to 'user'@'localhost' identified by 'pass';

flush privileges;

【讨论】:

    【解决方案2】:

    我实际上使用了错误的用户名。要检查用户名和服务器名,只需运行下面给出的查询 -

    select CURRENT_USER();
    

    一般情况下,用户名默认设置为root,服务器名称默认设置为localhost

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2015-01-31
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      相关资源
      最近更新 更多