0

我有 Nginx+Passenger+Rails3。

乘客抛出以下错误:

Can't connect to MySQL server on '184.169.131.xxx' (111) (Mysql2::Error)

我可以使用 mysql 命令连接到 MySql。我认为运行乘客的用户没有权限。

我想知道:如何确定哪个用户在运行乘客以及如何授予访问mysql的权限。

谢谢

4

1 回答 1

1

如果无法连接,则可能是:

  • 您的 MySQL 进程绑定到127.0.0.1并且不能接受来自远程机器的连接。
  • 您的防火墙已阻止端口 3306。

你确定那mysql是连接到同一个遥控器吗?您可能正在运行本地服务器,而不是允许使用默认配置进行访问。

需要注意的是,向一般互联网开放 3306 是一个坏主意,因此您需要非常有选择性地执行此操作。最佳做法是尽可能使用私有 IP,例如 10.xxx、172.16.xx 或 192.168.xx 有许多可以安全使用的保留块,但这些块不能路由到本地网络之外。

您还应该检查config/database.yml您定义的任何设置是否与您在mysql命令行工具中使用的设置相同。乘客不被视为特殊情况。

于 2012-12-21T18:21:03.840 回答