我收到此错误消息
用户'用户'@'localhost'拒绝访问(使用密码:是)
我尝试使用root用户,管理员帐户以及我为具有一些权限的网络访问者创建的一些用户帐户进行访问。这些用户(管理员和Web用户)是使用cPanel创建的。
我正在使用这个简单的代码测试连接,以避免弄乱功能代码。
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
我偶然发现了这个解释,但它不起作用
您的cPanel用户名和密码可用于连接您的数据库(以及您的cPanel)。如果您使用cPanel用户名和密码连接到数据库,则可以重置cPanel密码以确保使用正确的用户名和密码。
如果您专门为访问数据库设置了MySQL用户名和密码,那么您需要确保在php脚本中使用正确的用户名。例如,MySQL用户名始终采用以下格式:
的cPanel-username_mysql-用户名
如果您的cPanel用户名是userna5并且您创建了dbuser1的数据库用户名,那么实际的数据库用户名将是:
userna5_dbuser1
编辑:我已经将用户分配给数据库及其权限。我正在使用远程服务器
答案 0 :(得分:2)
您需要在mysql
中向user @ host授予权限grant all privileges on YOURDB.* to
'YOURUSER'@'localhost' identified by 'YOURPASSWORD';
答案 1 :(得分:1)
我在一台员工的Windows PC上遇到了完全相同的问题。 该问题是由于他的私人存储库文件夹(包括Docker使用的那些文件夹)位于C:\ Users {user_name}文件夹中引起的。 在某些时候,Windows阻止了Docker访问这些文件夹。
解决方案:将文件夹重定位到“用户”文件夹之外即可解决此问题。
答案 2 :(得分:0)
您是在本地计算机上还是在远程服务器上运行代码。如果它在您的本地计算机上运行,则您必须更换本地主机&#39;使用服务器的IP地址,例如。 &#39; 123.123.123.123&#39;
答案 3 :(得分:0)
如果您在创建用户和数据库后使用在线服务器,请确保您授予用户访问数据库的权限
答案 4 :(得分:0)
如果从远程服务器访问MySQL数据库,则必须使用MySQL主机的服务器IP地址。此外,您必须在远程MySQL&#34;远程MySQL&#34;中允许您的远程服务器IP地址。在您的cPanel下,否则您将无法远程访问您的数据库。