Production Rails console won't start
Everything works fine on my OS X development laptop.
Deploy the app to production and it runs and displays data as expected.
However, when I try to run the Rails console on the production server I get an error...
$ 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'
I tried removing socket: /tmp/mysql.sock from database.yml -- same result.
Although the app runs, I do need to be able to access the console in production as well to perform certain tasks.
I am able to connect to the MySQL server using the MySQL command line client.
mysql2 gem 0.3.11
MySQL server: 5.1.61
Production host: Linux 2.6.32-220.4.2.el6.x86_64
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
All I needed to do was...
$ RAILS_ENV=production bundle exec rails console
Another way to do this:
./script/rails console production
I solved with run:
RAILS_ENV=production bundle exec rails c
more details on link