Mysql无法连接 - 访问被拒绝(使用密码是)

时间:2012-09-28 02:59:15

标签: php mysql cpanel

我有11个2提供的托管,我刚刚创建了一个新的MySQL用户,并允许它访问列出的每个操作。

我收到以下错误

Warning: mysql_connect() [function.mysql-connect]: Access denied for user '(username is here, removed for posting)' (using password: YES) in /home/.../public_html/config.php on line 10

这是我的配置文件

//connection details have been removed for posting purposes

<?php

 define('SQL_SERVER',''); // Database Server
 define('SQL_USER',''); //  User
 define('SQL_PASS',''); //  Password
 define('SQL_DB',''); //  database



 mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS) or die("Error: ".mysql_error()); // Connection to the server
 mysql_select_db(SQL_DB) or die("Error: ".mysql_error()); // Connecting to the database
?>

我尝试按照此帖Access denied for user 'someuser'@'localhost' (using password: YES)

的建议执行以下操作
GRANT ALL PRIVILEGES ON databasename.* TO 'bookorama'@'%' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;

但我收到以下错误“#1044 - 拒绝用户访问”。当我登录CPanel并查看数据库用户时,它会显示我尝试登录的用户,因此我很困惑为什么它不起作用。

编辑 - 我开始工作了。服务器出了问题。与主人联系,他们负责处理。感谢您的回复。

4 个答案:

答案 0 :(得分:8)

我偶然发现了有关Cpanel http://www.inmotionhosting.com/support/community-support/databases/1045-access-denied-for-user-mysql-error

的连接信息
  

您的cPanel用户名和密码可用于连接您的数据库(以及您的cPanel)。如果使用cPanel用户名和密码连接到数据库,则可以重置cPanel密码以确保使用正确的用户名和密码。

     

如果您专门为访问数据库设置了MySQL用户名和密码,那么您需要确保在php脚本中使用正确的用户名。例如,MySQL用户名始终采用以下格式:

     

cpanel-username_mysql-username

     

如果您的cPanel用户名是userna5并且您创建了dbuser1的数据库用户名,那么实际的数据库用户名将是:

     

userna5_dbuser1

暂时,我建议将您的数据库密码更改为您的Cpanel帐户,以消除任何疑问。

答案 1 :(得分:3)

除非您为mysql设置密码,否则通常不需要密码字段。

你可以使用mysql_connect(“hostname”,“username”,“”)

但是如果你已经设置了mysql的密码,那么你必须在连接时写密码。 如果它仍然不起作用,那么你可能需要查看你的用户名和密码。

答案 2 :(得分:1)

你的sql server是什么?一些公司将服务器名称从本地主机更改为其他安全目的 - 但是如果它说用户拒绝访问可能是您连接到错误的数据库?

mysql_select_db(SQL_DB)

您确定使用的是正确的数据库名称吗?并且您可以使用相同的用户名和密码登录您的SQL帐户?好吧,如果问题仍然存在,尝试使用SQL的root帐户,超级管理员希望您在本地计算机上或拥有专用服务器。

为什么不尝试以这种形式使用它们?

$con = mysql_connect("host name","username","password");
$db = mysql_select_db("database name",$con);

答案 3 :(得分:1)

我有同样的问题,我试图连接两个不同的Web服务器。如果我在同一台服务器上使用我的PHP脚本,则会建立连接,但如果我使用其他Web服务器(Web Hosting)中的相同脚本文件,则会出现此错误。

我通过提供我以前连接的IP地址来访问MySQL服务器(远程MySQL)来解决这个问题。

值得注意的是,我使用了Domain但域名对我来说不起作用。 CPanel和它自己的MySQL用户也可以连接到MySQL服务器。希望它对你也有帮助。