我有Nginx + Passenger + Rails3。
Passenger引发以下错误:
Can't connect to MySQL server on '184.169.131.xxx' (111) (Mysql2::Error)
我可以使用mysql命令连接到MySql。我认为运行Passenger的用户没有权限。
我想知道:如何确定哪个用户正在运行乘客以及如何授予访问mysql的权限。
由于
答案 0 :(得分:1)
如果无法连接,则可能是:
127.0.0.1
,无法接受来自远程计算机的连接。您确定mysql
正在连接到同一个遥控器吗?您可能正在运行本地服务器,而不允许使用默认配置进行访问。
作为一个注释,向一般互联网开放3306是一个坏主意,所以你需要非常有选择性地做到这一点。最佳做法是尽可能使用私有IP,如10.x.x.x,172.16.x.x或192.168.x.x.有许多可以安全使用的保留块,但这些块不能在本地网络之外路由。
您还应该检查您定义的config/database.yml
设置与mysql
命令行工具使用的设置是否相同。乘客不被视为特殊情况。