我正在使用cakePHP连接到XAMPP phpMyAdmin中的数据库。我添加了一个新用户,设置了密码并设置了权限。我无法为生活创建与localhost上的数据库的连接。到目前为止我做了什么....我有一个带有数据库的实时Web服务器。我可以连接到这个数据库没问题。我有一个在localhost上运行MySQL工作台的数据库。我可以连接到这个没问题。这告诉我,我的连接代码没有任何问题,问题必须与XAMPP中的phpMyAdmin一起使用。我创建了一个简单的连接PHP脚本来尝试连接到数据库,它不起作用。相同的脚本可以连接到我的实时Web服务器和我的localhost MySQL工作台数据库,但不能连接到我的XAMPP数据库。我的连接脚本如下:
<?php
$con= mysqli_connect("localhost","root","","test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform a query, check for error
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')"))
{
echo("Error description: " . mysqli_error($con));
}
mysqli_close($con);
?>
我得到的错误信息是
无法连接到MySQL:用户访问被拒绝root&#39; @&#39; localhost&#39; (使用密码:否)错误描述:
如果我去XAMPP的phpMyAdmin并转到测试数据库,我可以清楚地看到该用户具有完全访问权限。我尝试使用主机名127.0.0.1, localhost
和:: 1。似乎没什么用。我只是不明白为什么XAMPP不会让我连接到数据库。我希望我不会错过一些明显的东西,所以任何帮助都会得到真正的赞赏。 here is a screen shot of the users and their privilleges for the database test
答案 0 :(得分:0)
这是人们永远不应该使用&#39; root&#39;的第二个原因。除非你确切知道自己在做什么。只有少数几个过时的真的知道他们每时每刻都在做什么......
添加特定的使用帐户,例如&#39;数据&#39;在您的localhost上,并在您的数据库上授予它所需的权限。
答案 1 :(得分:0)
我实际上使用用户名'login'和一个高度复杂的自动生成密码。然而,这也不起作用。我使用没有密码的“root”用户来突出显示甚至管理员帐户都无法连接的事实。
答案 2 :(得分:0)
Open config.inc.php file in the phpmyadmin directory
Find line 21: $cfg['Servers'][$i]['password'] = '';
Change it to: $cfg['Servers'][$i]['password'] = 'your_password';
Restart XAMPP