拒绝访问用户'someuser'@'localhost'(使用密码:YES)

31 浏览
0 Comments

拒绝访问用户'someuser'@'localhost'(使用密码:YES)

我在mysql中创建了一个名为'somedatabase'的数据库。

代码:

CREATE DATABASE somedatabase;

GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';

但是当我尝试使用php应用程序访问这个数据库时,我得到以下错误信息:

"mysql_connect() [function.mysql-connect]: Access denied for user 'someuser'@'localhost' (using password: YES)"

MySQL查询浏览器允许我使用用户名:someuser和密码:somepassword登录到这个数据库。那么为什么我不能通过应用程序连接到数据库呢?

php代码:

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';

0
0 Comments

在解决问题之前,我们需要了解一下问题的原因。问题的原因是出现了一个错误信息:“Access denied for user 'someuser'@'localhost' (using password: YES)”。接下来,我们将讨论这个问题出现的原因以及如何解决它。

问题的原因是由于某些原因,PHP无法连接到指定的用户。解决这个问题的方法是设置主机,以便PHP可以连接到任何主机上的用户(%)。

下面是解决这个问题的代码示例:

connect_error) {
  die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
$conn->close();
?>

在上面的代码中,我们使用了mysqli函数来连接到数据库。我们将主机设置为“localhost”,用户名设置为“someuser”,密码设置为“password”,数据库名称设置为“database”。然后,我们通过检查连接是否成功来确认连接是否成功。如果连接失败,将显示错误消息“连接失败: 错误信息”。如果连接成功,则会显示消息“连接成功”。

通过设置主机为“%”,我们可以确保PHP可以连接到任何主机上的用户。这样一来,无论是本地主机还是远程主机,PHP都可以成功连接到数据库。

希望这篇文章能帮助你解决“Access denied for user 'someuser'@'localhost' (using password: YES)”的问题。如果你遇到类似的问题,请尝试使用上面的解决方法来解决它。祝你好运!

0
0 Comments

在使用MySQL数据库时,有时会出现类似于"Access denied for user 'someuser'@'localhost' (using password: YES)"的错误提示。这个问题的出现通常有两个原因:用户没有足够的权限或者密码错误。

解决这个问题的方法是通过GRANT语句来给用户授权或者重置密码。

下面是一个解决方法的示例代码:

GRANT ALL PRIVILEGES ON somedatabase.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword';

上述代码中,GRANT语句用于给用户"someuser"授予在"somedatabase"数据库中的所有权限。其中,"someuser"表示用户名,"%"表示允许从任何主机连接,"somedatabase"表示数据库名,"somepassword"表示密码。

如果需要更详细的信息,可以参考MySQL官方文档中的相关章节:http://dev.mysql.com/doc/refman/4.1/en/adding-users.html

0
0 Comments

使用GRANT时,不要在someuser周围使用单引号(')。

GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword'; 

我还假设你在同一台机器上运行Apache/PHP和MySQL。

你是在同一台机器上运行Apache和MySQL吗?如果不是,则必须为请求服务器或所有('%')创建授权。

是的,我在同一台机器上运行Apache和MySQL。

0