在 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 上工作以检查互联网连接