我是否也需要在本地安装MySQL?

时间:2011-11-01 12:54:35

标签: mysql ruby-on-rails

我在IP 192.168.9.14和192.168.9.15上有2台ubuntu 11.04服务器。在.14我已经安装了ruby + rails并在.15上我安装了mysql并且我站点的数据库位于.15

我现在想让rails 2.3.8从.14连接到.15上的数据库。我在.14上的database.yml中有以下内容。

production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: gtt_production
  pool: 5
  username: root
  password: admin
  host: 192.168.9.15
  port: 3306

我目前在rails日志中出现错误,如下所示:

无法连接到192.168.9.15上的MySQL服务器。

我原本以为这是由于mysql服务器上的用户权限,但我现在已经添加了,但仍然遇到同样的问题。

然后我尝试通过终端(命令行)进行连接,如下所示:

mysql -h 192.168.9.15 -uroot -p

我收到一条消息说:

The program 'mysql' can be found in the following packages:
   * mysql-client-cor-5.1
 Try: sudo apt-get install <selected package>

......这就是让我觉得我需要mysql的本地副本的原因,即使数据库完全驻留在另一台服务器上。

请有人确认我的'猜测'是否正确,或者是否有一些'聪明'的方式连接到.15上的mysql服务器而不在.14上安装mysql。

2 个答案:

答案 0 :(得分:3)

您需要客户端 - sudo apt-get install mysql服务器通常是mysql-server

你为ruby安装了mysql gem吗? Rails需要这个才能连接到DB。还要确保.15可以接受来自.14的远程请求。

答案 1 :(得分:2)

您是否已将mysql数据库配置为侦听外部IP流量?我不认为MySQL默认允许外部连接,只允许本地主机流量。检查你的my.cnf。