Todo funciona bien en mi computadora portátil de desarrollo OS X.La consola de Production Rails no se iniciará
Implemente la aplicación en producción y se ejecuta y muestra los datos como se esperaba.
Sin embargo, cuando trato de ejecutar los rieles consola en el servidor de producción consigo un 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 intentado quitar socket: /tmp/mysql.sock
de database.yml - mismo resultado.
Aunque la aplicación se ejecuta, también necesito poder acceder a la consola en producción para realizar ciertas tareas.
Puedo conectarme al servidor MySQL utilizando el cliente de línea de comandos de MySQL.
rubí 1.9.3p125
Rails 3.2.2
mysql2 joya 0.3.11
servidor MySQL: 5.1.61
huésped de producción: 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
No necesité hacer 'bundle exec', pero la especificación de' RAILS_ENV = production' FIRST en la línea de comando fue importante. –