一切工作正常我的OS X开发笔记本电脑。生产轨道控制台将无法启动
将应用程序部署到生产,并按预期运行并显示数据。
然而,当我尝试运行Rails的生产服务器我得到一个错误的控制台 ...
$ rails console -e production
/opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:
in `connect': Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2) (Mysql2::Error)
from /opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize'
from /opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new'
我试图去除的database.yml socket: /tmp/mysql.sock
- 同样的结果。
虽然应用程序运行,但我确实需要能够访问生产中的控制台以执行某些任务。
我能够使用MySQL命令行客户端连接到MySQL服务器。
红宝石1.9.3p125
的Rails 3.2.2
mysql2宝石0.3.11
MySQL服务器:61年5月1日
生产主持人:Linux的2.6.32- 220.4.2.el6.x86_64
database.yml
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: con_app_rails_3_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: con_app_rails_3_test
pool: 5
username: root
password:
socket: /tmp/mysql.sock
production:
adapter: mysql2
encoding: utf8
reconnect: false
host: dbhost
database: con_app_rails_3_production
pool: 5
username: xxxx
password: xxxx
socket: /tmp/mysql.sock
我不需要执行'bundle exec',但是在命令行上指定'RAILS_ENV = production' FIRST很重要。 –