MySQL en Leopard (y con Ruby)

21
Enero
2008

Nunca hay tiempo, y cuando hay que sacar un sistema operativo antes de final de mes quizá te dejes algunas cosas sin terminar del todo. MySQL en Mac OS X Leopard (10.5) es una de esas cosas, y además, si queremos añadirle Ruby a la muestra, las cosas se complican un poquillo más.

Culpa también es de MySQL (ahora con el dinerillo de Sun podrían trabajar un poquillo más) que no proporciona binarios “oficiales” de MySQL para Mac OS X Leopard, y los de Tiger tienen algunos problemillas extraños.

Los binarios de Tiger se pueden instalar sin problemas (ir a la página de descargas de MySQL, descargar el archivo DMG, y ejecutar el archivo PKG del servidor MySQL), pero el panel de preferencias tan chulo que instalaba MySQL en Tiger no funciona para iniciar y parar el servidor de bases de datos.

Si no queremos hacer que MySQL arranque al inicio, si no sólo cuando nosotros se lo pedimos y no tenemos un odio visceral al terminal, las ordenes sudo /usr/local/mysql/support-files/mysql.server start y similar, pero terminada en stop, servirán para nuestros propositos (el sudo es necesario, aunque luego el servidor se ejecuta como el usuario _mysql). Personalmente tengo un par de alias en el .bashrc para no tener que escribir todo eso.

(Nota al margen: cada vez que se instale un servidor MySQL se debe al menos ejecutar la utilidad mysql_secure_installation).

Para utilizar MySQL con Ruby es necesario la “gema” mysql (Rails viene con “soporte” para MySQL sin necesidad de gemas, pero con la gema es más eficiente), pero si intentamos instalarla sin más nos producirá un error. La orden correcta para instalar la gema mysql en Leopard (que viene amablemente en el archivo database.yml de una aplicación Rails 2.0.2 recién creada) es: sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Sin embargo (y esta parte no la veo yo en el archivo database.yml) eso no parece bastar. Si ahora desde irb intentamos ejecutar require 'mysql' obtendremos un error. Para subsanarlo nos situaremos en el directorio /usr/local/mysql/lib y ejecutaremos sudo ln -s . /usr/local/mysql/lib/mysql.

Con estos pasos deberíamos tener MySQL funcionando correctamente en Leopard y totalmente accesible utilizando la gema mysql desde Ruby.


Deja un comentario

Puedes enterarte de las respuestas a tus comentarios de esta entrada mediante myComments.

XHTML: Puedes utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tu servidor sin límites: 20GB de espacio, 1TB de transferencia, 1 dominio gratuito. Por 1.5€ al mes utilizando el código "RUIDOBLANCO" en DreamHost. Más información.