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

C#带MySQL连接器-访问被拒绝,c#,mysql,visual-studio-2010,connection-string,mysql-connector,C#,Mysql,Visual Studio 2010,Connection String,Mysql Connector,我有一个带有MySQL数据库的远程托管网站 我正试图从一个小型C程序访问该数据库 我所尝试的: 在项目中引用MySQL DLL 使用MySQL连接字符串 禁用我的防火墙 将我的IP地址添加到站点cPanel中的远程MySQL数据库 我得到的是: 用户的访问被拒绝blabla@mycomputerip在VisualStudio控制台中 让我感到不可思议的是: 如何确定我的网络主机服务是否允许远程连接到数据库 我真的需要用PuTTy连接到服务器并调整配置吗 ^如果是的话,我有权这样做吗

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

我正试图从一个小型
C
程序访问该数据库

我所尝试的:

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

  • 用户的访问被拒绝blabla@mycomputerip在VisualStudio控制台中
让我感到不可思议的是:

  • 如何确定我的网络主机服务是否允许远程连接到数据库
  • 我真的需要用PuTTy连接到服务器并调整配置吗
  • ^如果是的话,我有权这样做吗
稍后编辑:

  • 很有趣。如果我这样做

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
    
    这让我想到:

    #1045 - Access denied for user 'blabla'@'localhost' (using password: YES)
    
    常识应该告诉你,我的用户名实际上不是“blabla”

稍后编辑:

我没有创建用户的权限,也没有通过PuTTy之类的SSH访问权限

这基本上意味着我不能从远程位置连接到数据库是我的主机的错吗?

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

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

  • 通过MySQL,您可以定义允许用户连接的主机。您定义的新用户是否允许从IP连接

  • 预计到达时间:

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

    SHOW GRANTS FOR 'something_root'@'localhost'
    
    将你在那里看到的补助金与你在这里得到的补助金进行比较:

    SHOW GRANTS FOR 'something_root'@'%'
    
    最后,根据您的托管环境,您可能没有创建新用户的权限,或者没有足够的权限来扩展他们的权限。如果你有一个共享的托管帐户,这种情况尤其可能发生

    如何确定我的网络主机服务是否允许远程连接

    最好问问你的证明人,有些允许远程连接,有些不允许。
    如果允许远程连接,您可能必须配置允许用户从哪些主机连接,或者添加通配符%以允许从任何主机连接。

    检查您的托管服务是否允许从其网络外部连接到其数据库服务器。 一些托管公司,比如GoDaddy,默认情况下不允许这样做


    此外,您还需要通过首选的数据库管理工具创建数据库用户并为其分配权限。

    重置mysql用户密码,然后重试


    数据库的用户名是经过审查的\u root,这是我不久前创建的。我使用这个方法连接到我的PHP应用程序中的DB,该应用程序上传到网站上。我已经添加了
    %
    通配符,现在它只是说,
    拒绝访问**受审查的**root@%
    @GGeorge-更新了我的答案。可能是具有
    %
    通配符的用户现在存在,但它没有正确的授权。显示“something\u root”的授权会使我拒绝访问。但是,Show grants for'something'实际上会返回一个结果。我真的很困惑,因为这表明我是用“something”而不是“something_root”登录的。我觉得我对整个MySQL访问的东西缺乏认真的理论基础。@GGeorge-根据你上次的编辑,我想说你可能无法在这里做你想做的事情。您可能需要从共享主机环境切换到对服务器有更多控制的VPS。您是在VPS上运行还是在共享主机上运行?如果在共享主机上,MySQL服务器也可能是共享的,因此您无法对所有内容授予权限,因为您自己无法访问所有内容。