乘客未到达MySql

时间:2012-12-21 18:11:23

标签: mysql ruby-on-rails-3 passenger

我有Nginx + Passenger + Rails3。

Passenger引发以下错误:

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

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

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

由于

1 个答案:

答案 0 :(得分:1)

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

  • 您的MySQL进程绑定到127.0.0.1,无法接受来自远程计算机的连接。
  • 您的防火墙已阻止端口3306。

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

作为一个注释,向一般互联网开放3306是一个坏主意,所以你需要非常有选择性地做到这一点。最佳做法是尽可能使用私有IP,如10.x.x.x,172.16.x.x或192.168.x.x.有许多可以安全使用的保留块,但这些块不能在本地网络之外路由。

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