【问题标题】:Can't access database, access denied for user无法访问数据库,用户拒绝访问
【发布时间】:2012-06-20 02:02:15
【问题描述】:

我在将我的应用程序与我网站上的数据库连接时收到此错误消息。 如果我尝试在我的计算机上使用 XAMPP,它运行良好。

仅供参考,用户名和密码与我使用 XAMPP 创建的用户名和密码相同。 并授予特权。

这是连接字符串。例如服务器是174.125.80.140,数据库名称是myDB,Uid是alfred,密码是Alfred111。

MySqlConnection conn = new MySqlConnection("Server=174.125.80.140; Database=myDB;Uid=alfred;Pwd=Alfred111;");

我正在使用 MySQL 客户端版本:4.1.22。 我仍然无法访问数据库。有什么解决办法吗??

【问题讨论】:

  • 能否请您包含您的连接字符串以及您尝试连接的(供应商和版本)数据库?
  • 这是一条 MySQL 错误消息。
  • @npinti 我只是编辑问题。乔伊,是的。它是一条 MySQL 错误消息。但是我已经正确输入了用户名和密码。有什么解决办法吗?

标签: c# .net mysql


【解决方案1】:

如果您使用的是 MySQL 工作台, 1) 启动工作台 2) 点击“安全”下的“用户和权限”选项 3)点击添加用户(针对特定用户),这更安全,因为它可以让您处理谁可以访问您的数据库并让您控制访问。

但是,如果您想授予对诸如 c# 应用程序之类的应用程序的大量用户的访问权限,请根据您在上面设置的用户权限在应用程序中硬编码用户名和密码。

希望对你有帮助(^_^)

【讨论】:

    【解决方案2】:

    是的,您可能提供了正确的用户名和密码,但您是否将服务器(新服务器)配置为接受Uid=alfred;Pwd=Alfred111;

    Adding User in MySQL Server

    【讨论】:

    • 仍然失败。我使用向导添加用户。
    【解决方案3】:

    如果您的应用与 MySQL 服务器位于不同的主机上,那么您很可能需要添加一个新用户来授予该主机的权限。 localhost 可能允许您的 alfred 用户,除此之外别无其他。尝试CREATE USER 'altred@'%' identified by 'password';,然后授予该用户对myDB 的权限。

    您也可以将% 替换为特定的IP 地址或主机名,% 允许来自不一定安全的任何主机的连接。

    您可以尝试以下查询来查看允许的用户/主机组合:

    SELECT `User`, `Host` FROM `mysql.user`
    

    希望对您有所帮助。

    【讨论】:

    • 对不起。仍然失败。我使用向导创建了一个用户.. 以及我从远程服务器获得的服务器
    猜你喜欢
    • 2014-06-14
    • 1970-01-01
    • 2017-05-30
    • 2014-12-21
    • 2015-12-26
    • 1970-01-01
    • 2012-03-12
    • 2015-05-28
    • 2018-06-24
    相关资源
    最近更新 更多