Cómo compilar MySQL Workbench 5.1.4alpha

Si instalamos el paquete binario de MySQL Workbench en Ubuntu , parece que todo funciona bien en un primer momento, pero cuando creas una tabla e intentas cambiarle el nombre (o pedir sus propiedades), la aplicación se cierra (Segmentation Fault). Siendo una versión alpha tampoco es para tirarse de los pelos… no obstante, viendo pantallazos de lo que puede llegar a hacer, y habiéndola necesitado varias veces ya desde que la instalé, me he decidido a compilarla desde 0. Eso que parecía algo muy complejo se resuelve en 15 minutos, sin problemas. A partir de ahí, todo funciona perfectamente (hasta donde he podido probar), sin cuelgues ni cierres inesperados. Vamos allá con el procedimiento (basado en este artículo):

Lo primero, instalar todas las dependencias y bibliotecas de desarrollo que vamos a necesitar:

  1. sudo apt-get install autoconf automake libtool libzip-dev libxml2-dev libsigc++-2.0-dev libglade2-dev libgtkmm-2.4-dev libglu1-mesa-dev libmysqlclient15-dev uuid-dev liblua5.1-dev libglitz-dev libglitz-glx-dev libpixman-1-dev libpcre3-dev g++ libgnome2-dev libgtk2.0-dev libpango1.0-dev
  2. sudo apt-get source cairo     (hay que compilar desde las fuentes, para darle soporte glitz, que al parecer mysqlworkbench necesita y Ubuntu no trae de serie…)
  3. Cambiar al directorio donde hayamos descomprimido cairo (en mi caso, ya estaba descomprimido)
  4. ./configure -enable-glitz
  5. make
  6. make install
  7. Instalar la versión developer de libctemplate
  8. Descargar el código fuente de MySQL Workbench , descomprimir y cambiar a ese directorio
  9. ./autogen.sh
  10. make
  11. make install DESTDIR=/ruta/de/instalacion (elige la que más te guste)

Listo!
UPDATE: sigue siendo una versión alpha 🙁 A partir de la 5ª tabla que insertemos (más o menos), los fallos de segmentación vuelven a mordernos. Además, una vez creada una relación entre tablas es imposible borrarla. Nada, a esperar a la siguiente versión (creo que la semana que viene tendremos novedades al respecto, por lo que se puede leer en la web de Workbench)

MySQL Workbench 5.1 Alpha para Linux ya disponible

Por fin, tras varios meses de espera, MySQL ha publicado la versión alpha de MySQL Workbench 5.1 para Linux (un editor visual de tablas y relaciones entre tablas para MySQL del que ya hemos hablado antes en DiarioLinux)

Ojo, porque parece que es una versión alpha de verdad, es decir, que incluye funcionalidad básica para cargar/guardar Modelos, importar/exportar ficheros SQL y un conjunto de editores básicos para modelar tus estructuras de datos, pero se aún faltan algunas funcionalidades y el interfaz de usuario de otras está sin terminar. La idea es que podamos probar WB en nuestras máquinas Linux, e informar de posibles mejoras o errores .

MySQL ha publicado paquetes de código fuente y binarios para Ubuntu. Así mismo hay una página con instrucciones de compilación para Ubuntu. El objetivo es que en las próximas versiones (no alpha) de WB se publiquen paquetes e instrucciones para otras distros.

MySQL Workbench 5.1 Alpha para Linux en 30 días

MySQL Workbench es una aplicación que permite diseñar de forma visual, generar y gestionar bases de datos MySQL. Se pueden crear complejos modelos E/R, gestión de versiones del esquema de una BBDD, generación automática de documentación de una base de datos, ingeniería inversa, etc. MySQL Workbench se basa en DBDesigner 4 de FabForce. De hecho, incluso hubo hace tiempo una versión preliminar para Linux, llena de bugs, que hizo que MySQL decidiera rehacer todo el código. Desde hace tiempo (Noviembre de 2007), existe una versión de MySQL Workbench para Windows, pero no así para Linux. El desarrollador principal, Michael Zinner, acaba de publicar en el blog de la herramienta una entrada en la que indica que para antes del 30 de Septiembre tendremos una versión alpha de MySQL Workbench 5.1 para Linux. De hecho, incluso muestra la aplicación funcionando en su máquina Ubuntu:

SUN compra MySQL

sun_014.jpgPues sí, tal y como suena. Cuando lo he leído no me lo he creído, pero tras comprobar que no es April Fool’s, ni 28 de Diciembre ni nada por el estilo, y leer la nota del blog interno de MySQL, he visto claramente que es cierto. Esto se pone muy interesante, porque no debemos de olvidar que SUN es junto a IBM una de las multinacionales que más productos ha donado al software libre (siendo OpenOffice, Java y OpenSolaris los productos estrella). La operación se cerrará para Junio de este año por mil millones de dólares. Lo jugado.

Nota: el descamisado de la coleta es Jonathan Schwartz,el boss de SUN y blogger respetado (además de saber exactamente lo que vende, tanto a nivel comercial como técnico. No es algo que se pueda decir de todos los responsables de empresa tecnológica…) . Por cierto, también cuenta la noticia en su blog, claro. El de la camisa azul es Marten Mickos, CEO de MySQL. Otros dos que estarán la mar de contentos serán Michael Monty Widenius y David Axmark, fundadores de MySQL y comprometidos con el software libre desde el principio. Felicidades a todos.

Trivia: ¿alguien sabe quiénes son los dos de la derecha que aparecen en esta foto junto a Schwartz y Mickos?

Una única base de datos para controlarlos a todos

Dentro de poco pondré otra herramienta online disponible para todos los usuarios Linuxeros de este portal que creo os va a gustar (algunos de vosotros ya lo habéis probado como beta-testers). El caso es que necesitaba unificar las bases de datos (en concreto las tablas referidas a usuarios) de diariolinux.com con la de esa otra herramienta (que también se ejecuta sobre WordPress como base) para conseguir que no hubiera que registrarse en ambos sitios para poder participar en una u otra web. Y buscando en el oráculo no encontré nada. Así que me lié la manta a la cabeza e ideé un método que igual le puede servir a alguien más. La idea es que, aprovechando que ambos sistemas guardan sus datos en una base de datos MySQL, y sabiendo que esta BBDD guarda internamente sus tablas sobre ficheros con extensiones MYD, MYI, y frm, probé a borrar los ficheros de las tablas de usuarios de la nueva herramienta y crear enlaces a los mismos ficheros ya existentes de diariolinux.com.

En Fedora, esos ficheros se guardan en /var/lib/mysql/ . Ahí tendremos un directorio por cada BBDD. Por ejemplo, tengo un directorio: /var/lib/mysql/diariolinux y otro /var/lib/mysql/nueva_herramienta .

En concreto, las tablas de gestión de usuarios de WordPress que primero borré (en herramienta) y luego enlacé (para que apuntaran a las de DiarioLinux) son: wp_usermeta.MYD, wp_usermeta.MYI, wp_usermeta.frm, wp_users.MYD, wp_users.MYI y wp_users.frm.
El caso es que funcionó 🙂 Ahora, sólo queda (si es posible) conseguir el SingleSignOn, es decir, que un usuario pueda identificarse o bien en diariolinux.com o bien en la web de la herramienta y que esa identificación valga para ambos dominios. Eso, creo, será más difícil que unificar logins/passwords.