Forum: Rails-ES Socket de MySql

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D1f2711106355a97be7422bfe74e7c24?d=identicon&s=25 Agustin V. (agustinvinao)
on 2009-01-09 11:53
Una consulta para quienes usan RoR c/Linux (Ubuntu en mi caso).

Cada vez que reinicio la pc, tengo que armar de nuevo el link del socket
ya que donde se encuentra originalmente no es donde RoR lo precisa.

Esto lo hago con:
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

Pero no se como hacerlo para que se ejecute automaticamente en el
inicio.

Si alguien conoce como hacerlo se los agradeceria.

Saludos
Juan JosŽé Vidal Agust’ín (Guest)
on 2009-01-09 11:55
(Received via mailing list)
Puedes hacer un enlace con ln, se me ocurre.

Agustin Viñao escribió:
Jaime Iniesta (Guest)
on 2009-01-09 11:57
(Received via mailing list)
2009/1/9 Agustin Viñao <ruby-forum-incoming@andreas-s.net>:
>
> Si alguien conoce como hacerlo se los agradeceria.

Una opción es especificar dónde está tu socket en el database.yml de
tu aplicación, para el entorno development, algo
así:
socket: /var/run/mysqld/mysqld.sock

--
Jaime Iniesta
http://jaimeiniesta.com
http://www.workingwithrails.com/person/6722-jaime-iniesta
A6cb963d71e442f6eb0f77d8473812e3?d=identicon&s=25 Jacobo G. (therobot)
on 2009-01-09 12:03
(Received via mailing list)
Otra opción es editar el parametro socket en el fichero de configuración
de
mysql.

En ubuntu/debian  el fichero de configuración esta en /etc/mysql/my.cnf

Busca el parametro socket (aparece dos veces socket, uno es para la
conexion
del cliente mysql y el otro para el socket del servidor) cambia ambos al
path que desees.

De todos modos en tu caso me gusta mas la solución propuesta por Jaime.

Jacobo García López de Araujo
blog: http://robotplaysguitar.wordpress.com


2009/1/9 Jaime Iniesta <jaimeiniesta@gmail.com>
Guillermo Álvarez Fernández (Guest)
on 2009-01-09 15:54
(Received via mailing list)
El 09/01/2009, a las 11:53, Agustin Viñao escribió:
> Una consulta para quienes usan RoR c/Linux (Ubuntu en mi caso).
>
> Cada vez que reinicio la pc, tengo que armar de nuevo el link del
> socket
> ya que donde se encuentra originalmente no es donde RoR lo precisa.

Si. Es un infierno.

Yo lo arregle insertando erb dentro del archivo database.yml

socket: <%= %x(mysql_config --socket) %>

Y que se busque las castañas otro para encontrar el dichoso archivo.
F252da74ded858972ee27e83bb5f0035?d=identicon&s=25 Rafael G. (rafa)
on 2009-01-09 16:49
(Received via mailing list)
Attachment: rgo.vcf (242 Bytes)
Guillermo Álvarez Fernández wrote:
>
>
> socket: <%= %x(mysql_config --socket) %>
>
Como curiosidad esto lo podías poner con comillas:
socket: <%= `mysql_config --socket` %>
Guillermo Álvarez Fernández (Guest)
on 2009-01-09 17:55
(Received via mailing list)
El 09/01/2009, a las 16:49, Rafael G. escribió:
> Guillermo Álvarez Fernández wrote:
>>
>> socket: <%= %x(mysql_config --socket) %>
> Como curiosidad esto lo podías poner con comillas:
> socket: <%= `mysql_config --socket` %>

Lo se, pero le cogí cariño %x.
B90e62c813e769264dc8869a26678b77?d=identicon&s=25 Xavier N. (fxn)
on 2009-01-10 13:12
(Received via mailing list)
La llave socket tiene es gotcha, por eso yo lo primero que hago es
borrarla y poner en su lugar simplemente:

   host: localhost
D1f2711106355a97be7422bfe74e7c24?d=identicon&s=25 Agustin V. (agustinvinao)
on 2009-01-11 11:58
Xavier Noria wrote:
> La llave socket tiene es gotcha, por eso yo lo primero que hago es
> borrarla y poner en su lugar simplemente:
>
>    host: localhost

Xavier, muchas gracias por el dato, evidentemente es falta de
experiencia lo mio. Ya con esto quedo arreglado.

Saludos
B90e62c813e769264dc8869a26678b77?d=identicon&s=25 Xavier N. (fxn)
on 2009-01-11 14:03
(Received via mailing list)
2009/1/11 Agustin Viñao <ruby-forum-incoming@andreas-s.net>:

> Xavier, muchas gracias por el dato, evidentemente es falta de
> experiencia lo mio. Ya con esto quedo arreglado.

Es posible que el generador de database.yml sea mejorable.

Lo que sucede es que en el momento de ejecutar el comando rails, hay
codigo en el generador que decide cual seria la ubicacion de
mysql.sock. Este no es siempre "/tmp/mysql.sock" hay 8 o 10 paths
distintos conocidos. En particular para algunas distros de Linux se
genera otro.

Segun tengo entendido, se genera "socket" en lugar de "host" porque no
se tenia la seguridad de que todos los MySQLs de ahi afuera tuvieran
habilitado TCP/IP.

Pero creo que en general esto tiene como consecuencia que mucha gente
no conoce que existe "host" siquiera. Es util si cambias la ubicacion
de tu base de datos (yo he pasado del package de MySQL a la version de
MacPorts en mi laptop), si usas un proxy (sucede en Brightbox), y en
general tiene sentido.

Creo que al menos añadiria un comentario al generador, y de hecho creo
que generaria "host" y dejaria "socket" comentado.
This topic is locked and can not be replied to.