Quería conectarme a un host MySQL remoto (con rake db:create
), pero Rails siempre lo considera como local. database.yml que utiliza la siguiente configuración:Problemas de conexión a un host MySQL remoto con Rails
defaults: &defaults
encoding: unicode
adapter: mysql
username: <username>
password: *************
port: 3306
host: <remote ip address>
development:
<<: *defaults
database: <db name>
test: &test
<<: *defaults
database: <db name>
production:
<<: *defaults
database: <db name>
Y siempre conseguir este error al intentar cualquier cosa en la base de datos:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
La configuración funciona siempre y cuando utilizo la base de datos local (es decir, sin la parte del host/puerto). La conexión al servidor MySQL remoto funciona bien con los detalles especificados.
¿Alguna idea sobre qué está pasando mal?
Editar: El problema sólo se produce con rake:db:create
, otras tareas de trabajo - El mensaje de error fue realmente mal engañosa.
¿Puedes pegar la base de datos completa.yml? y que env usas? Supongo que define una configuración de socket en alguna parte. – shingara
(ver edición, parece ser un extraño mensaje de error) –
Compruebe la configuración de su cortafuegos/enrutador, no parece que esté teniendo una conexión TCP o el puerto está bloqueado. –