在 Windows 10 上使用 XAMPP 连接到 MySQL 数据库的访问被拒绝

Posted

技术标签:

【中文标题】在 Windows 10 上使用 XAMPP 连接到 MySQL 数据库的访问被拒绝【英文标题】:Acess denied for connection to MySQL DB using XAMPP on Windows 10 【发布时间】:2017-07-29 01:24:35 【问题描述】:

我创建了名为“users”的数据库并尝试使用 php 连接到它,但访问被拒绝。

这是我收到的消息:

“警告:mysqli::__construct(): (HY000/1044): 拒绝用户访问 ''@'localhost' 到数据库 'users' 中 D:\XAMP\htdocs\telepol\formProcess.php 第 8 行

连接失败:用户 ''@'localhost' 拒绝访问数据库 'users'"

代码如下:

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbName = "users";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbName);

// Check connection
if ($conn->connect_error) 
  die("Connection failed: " . $conn->connect_error);

echo "Connected successfully";

?>

【问题讨论】:

$username = "root"; 那是您本地主机上的默认 mysql 用户 你用的是哪个php版本??试试这个 mysqli_connect() 函数 不连接的原因是你没有指定用户 @BlackSova 没有人,没有必要为此称赞我,那只是你犯的一个愚蠢的错误 @A.ANoman 他为什么要尝试mysqli_connect() 那是程序性的,他正在使用OO 【参考方案1】:

试试这个:将用户添加到MySQL

如果您想从外部访问数据库(即网页),您需要向用户授予权限。

【讨论】:

【参考方案2】:

你犯了一个愚蠢的错误..

<?php
$servername = "localhost";
$username = "root"; // This is mistake 
$password = "";
$dbName = "users";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbName);

// Check connection
if ($conn->connect_error) 
  die("Connection failed: " . $conn->connect_error);

echo "Connected successfully";

?>

【讨论】:

【参考方案3】:

在 Xampp 中,我注意到当我创建一个新用户时,“所有主机”访问权限的默认主机字段被列为“%”——将访问权限更改为“本地主机”允许我的非 root 用户正确连接,而 % 没有。这是使用内置的 phpmyadmin 工具。

【讨论】:

以上是关于在 Windows 10 上使用 XAMPP 连接到 MySQL 数据库的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

如何:在 XAMPP 上安装 Memcache (Windows 7/8/10)

让最基本的 ajax 在 Windows 7 上的 xampp 上工作以检查互联网连接

PHPMailer在Windows10上没有运行Xampp

在 Windows 10 上使用 XAMPP 连接到 MySQL 数据库的访问被拒绝

Windows 10 和 XAMPP

xampp中的phpmyadmin无法在Windows 10上运行