C# 与 MySQL 连接器 - 访问被拒绝

标签 c# mysql visual-studio-2010 connection-string mysql-connector

我有一个带有 MySQL 数据库的远程托管网站。

我正在尝试从一个小型 C# 程序访问该数据库。

我尝试过的:

  • 在项目中引用MySQL DLL
  • 使用 MySQL 连接字符串
  • 禁用我的防火墙
  • 将我的 IP 地址添加到站点 cPanel 中的远程 MySQL 数据库

我得到了什么:

  • 在 Visual Studio 控制台中用户 blabla@mycomputerip 的访问被拒绝

什么让我困惑:

  • 如何确定我的网站托管服务是否允许远程连接到数据库?
  • 我真的需要使用 PuTTy 连接到服务器并调整配置吗?
  • ^ 如果是这样,我是否有权这样做?

稍后编辑:

  • 够有趣的。如果我这样做

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
    

    它给了我这个:

    #1045 - Access denied for user 'blabla'@'localhost' (using password: YES)
    

    常识应该告诉你,我的用户名实际上并不是“blabla”。

稍后编辑:

我没有创建用户的权限,也没有通过 PuTTy 等进行 SSH 访问。
这是否基本上意味着我无法从远程位置连接到数据库是我的主机的错误?

最佳答案

查看 mysql 数据库中的用户。有几点需要检查:

  1. 使用共享主机上的 cPanel,如果您创建名为 blah 的用户,则 mysql 中用户的实际名称通常是 unixusername_blah。这是自动完成的,以防止共享同一 MySQL 服务器的不同 cPanel 帐户之间的 MySQL 用户名冲突。

  2. 使用 MySQL,您可以定义允许用户从哪些主机进行连接。您定义的新用户是否允许从您的 IP 连接?

预计到达时间:

可能需要查看该用户帐户的权限并确保授予适当的权限。您可以通过在 phpMyAdmin 或控制台中运行以下命令来完成此操作:

SHOW GRANTS FOR 'something_root'@'localhost'

并将您在那里看到的补助金与您在这里获得的补助金进行比较:

SHOW GRANTS FOR 'something_root'@'%'

最后,根据您的托管环境,您可能无权创建新用户或扩展其权限以执行此操作。如果您有共享托管帐户,这种情况尤其可能发生。

关于C# 与 MySQL 连接器 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936900/

相关文章:

c# - 最小起订量特定列表项的检索

python - Python 中的 Unicode 问题

php - 从数据库获取总大小(以 MB 为单位)

php - jquery.countdown 日期时间问题

mysql - 将数据从数据库添加到组合框

visual-studio-2010 - 尝试在 Visual Studio 2010 中运行经典 ASP 网站时出现错误

sql-server - 为什么 SQL Server 数据工具使用的 VS 2010 shell 上的工具箱是空的?

c# - 无法检测到 ComboBox 中的鼠标右键单击

c# - 使用带有异步的 Tcp 接收消息

c# - 如何使用C#在同一列中计算相同元素或特定条件?