【问题标题】:MySql Remote server connection access deniedMySql 远程服务器连接访问被拒绝
【发布时间】:2015-05-01 14:48:37
【问题描述】:

我已经使用openshift 创建了一个免费应用程序,并创建了 MySQL 和 phpmyadmin 墨盒,并且在我的 phpmyadmin 中,我可以从任何地方访问所有具有所有权限的用户现在问题是当我尝试从本地 MySQL 工作台连接时我已连接,但我没有看到我使用 phpmyadmin 在远程服务器中创建的表,我根本无法执行任何操作,例如在我得到的地方创建模式或表

错误 1044: 用户 ''@'localhost' 的访问被拒绝

请记住,我允许任何用户的所有权限,但除了数据库连接之外,我仍然会拒绝任何操作的访问。

【问题讨论】:

  • 您确定为用户“user”而不是“root”添加了权限吗?

标签: mysql remote-access


【解决方案1】:

确保您授予完全权限的用户与 MySQL Workbench 连接的用户相同——例如,主机 %localhost 之间存在差异。在 MySQL Workbench 中,发出“状态”命令并将用户名和主机与您配置的内容进行比较。

您显然是通过 'localhost' 连接的,因此您必须向具有主机 localhost 的匿名用户授予完全权限(或将连接类型更改为 tcp,以便您的连接通过 127.0.0.1 而不是 localhost)。

编辑进一步澄清: MySQL 权限结构以不同的方式对待不同类型的连接;通过 TCP 连接进行连接的客户端似乎总是来自一个 IP 地址,即使它来自“本地主机”(在同一台机器上),在这种情况下,传入连接的 IP 地址可能是 127.0.0。 0.1。套接字类型的连接在 MySQL 中注册为来自主机“localhost”(字面意思,在这种情况下)。这就是我们验证 MySQL Workbench 连接的主机的原因。

即使来自同一“本地机器”,不同的连接类型对 MYSQL 的显示也不同。此外,通配符主机不包括“localhost”套接字连接,它们是权限字段中具有“localhost”主机名的单独条目;正如我上面解释的那样,通配符不适用。这就是我们检查您针对 MySQL Workbench 连接的权限设置的原因的原因;这是造成此类困难的最常见原因。

【讨论】:

  • 我认为很明显openshift免费帐户不允许远程sql访问
  • 如前所述,我允许任何用户在没有任何凭据的情况下获得许可,除非这在 openshift 上与您合作?
  • 抱歉,我一定错过了您所说的免费帐户的位置,但这真的无关紧要,因为即使主机阻止外部连接,MySQL 权限结构仍然保持不变。如果您可以发布您已授予权限的屏幕截图或 SQL 导出并检查 MySQL Workbench 中的 STATUS 命令,那将非常有帮助。有关更详细的说明,请参阅上面编辑中的信息。我无法向您保证这是正确的解决方案,因为我还没有足够的信息,但目前看来最有可能:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
相关资源
最近更新 更多