7

我有 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

4 回答 4

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-用户名_mysql-用户名

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

userna5_dbuser1

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

于 2012-09-28T11:34:17.310 回答
3

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

你可以使用 mysql_connect("hostname","username","")

但是如果你已经为你的mysql设置了密码,那么你必须在连接时输入密码。如果仍然无法正常工作,那么您可能需要查看您的用户名和密码。

于 2012-09-28T04:34:26.047 回答
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);
于 2012-09-28T04:06:30.350 回答
1

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

我通过提供我用来连接的 IP 地址来允许访问 MySQL 服务器(远程 MySQL)来解决它。

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

于 2013-09-18T06:27:24.810 回答