Conectar Ruby con Mysql en Ubuntu 9.10
Para poder conectar Ruby con Mysql necesitamos de tres cosas:
Ruby, Mysql y el modulo Ruby Mysql que es el que nos ayudara a crear la conexión.
El modulo lo podemos descargar del siguiente enlace http://rubyforge.org/frs/?group_id=4550.
Para este ejemplo se utilizaron las siguientes versiones.
Mysql: 5.1.37-1ubuntu5.1
Ruby: 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
Modulo: mysql-ruby-2.8.2.tar.gz
Ya descargado el modulo lo descomprimimos con el siguiente comando:
tar zxf mysql-ruby-2.8.2.tar.gz
Accedemos a la carpeta mysql-ruby-2.8.2 y ejecutamos el siguiente comando para configurar la distribución:
ruby extconf.rb
Una vez configurado instalamos el modulo:
make sudo make install
Con el modulo Ruby MySql instalado, ya podremos ser capaces de conectarnos a nuestro servidor MySql. Para este ejemplo nuestro servidor se está ejecutando en la maquina local y tenemos una base de datos llamada “escuela” y una tabla llamada “alumno” con los campos matricula, nombre y carrera.
Como nos conectaremos con un nombre de usuario y contraseña necesitamos configurar esta cuenta para poder trabajar con mysql y ruby, para ello haremos lo siguiente:
Accedemos a mysql con el comando
mysql -u root -p
Damos los permisos para poder trabajar con la tabla.
GRANT ALL ON escuela.* TO 'root'@'localhost' IDENTIFIED BY '1234';
donde ’1234′ es el password de nuestro servidor mysql.
En caso de no tener creada nuestra base de datos, la creamos de la siguiente manera.
CREATE DATABASE escuela;
Creamos la tabla alumno.
CREATE TABLE alumno( matricula varchar(10), nombre varchar(40), carrera varchar(40));
Bueno, hasta aquí ya tenemos configurado nuestro modulo y nuestro servidor, ahora vamos a lo que es el programa. El código esta divido en dos archivos, para este caso los llame mysqlruby.rb y clase.rb, donde mysqlruby.rb tendrá el código del menú mostrado en pantalla y clase.rb tendrá los métodos de agregar, consultar, eliminar y la conexión de la base de datos.
El código lo pueden descargar de aquí.
A continuación algunas imagenes del funcionamiento del programa.
Menú.
Agregar.
Consultar.
Eliminar.
Salir.
Listo!!
El código puede ser modificado según sea la necesidad, por ahora espero sea de gran ayuda, cualquier duda no duden en comentar.
Quizá te interese :
Obtener el Diccionario de datos de una Tabla de MySql con C# INFORMATION_SCHEMA MySql guarda l ...
En php es muy fácil realizar consultas para tener acceso a las bases de datos de MySql, para ell ...
En esta ocación vamos a mostrar como conectar java con mysql. Para este tutorial utilizamos: ...



















Buen tutorial!
me lanza un error al intentar configurar el modulo, cuando escribo ruby extconf.rb aparece esto:
ruby extconf.rb
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lm… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lz… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lsocket… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lnsl… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lmygcc… no
checking for mysql_query() in -lmysqlclient… no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/usr/bin/ruby1.8
–with-mysql-config
–without-mysql-config
–with-mysql-dir
–without-mysql-dir
–with-mysql-include
–without-mysql-include=${mysql-dir}/include
–with-mysql-lib
–without-mysql-lib=${mysql-dir}/lib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mlib
–without-mlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-zlib
–without-zlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-socketlib
–without-socketlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-nsllib
–without-nsllib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mygcclib
–without-mygcclib
–with-mysqlclientlib
–without-mysqlclientlib
cual podria ser el problema?
Te hace falta instalar las librerías de desarrollo de Mysql (los headers)
En Ubuntu por ejemplo, los puedes resolver con:
Y después
Despúes de eso puedes continuar con el procedimiento normal de instalación.
Espero haberte ayudado, Saludos!!
Gracias!…de hecho ya lo habia solucionado…hice lo mismo que tu propusiste…pero muchas gracias de todos modos…pero me sirvio de mucho tu mini-tutorial jeje. Gracias, saludos!
De nada, con mucho gusto.
Esperemos, puedas seguir colaborando con preguntas en nuestra comunidad.
Estoy en el mismo caso que Oscar y he realizado lo indicado por Daniel pero me continua el error. Uso Ubuntu
Por que puede ser?
Sugerencias para Ubuntu
Cualquier duda, aqui estamos no te guardes ninguna pregunta!
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lm… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lz… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lsocket… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lnsl… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lmygcc… no
checking for mysql_query() in -lmysqlclient… no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/usr/bin/ruby1.8
–with-mysql-config
–without-mysql-config
–with-mysql-dir
–without-mysql-dir
–with-mysql-include
–without-mysql-include=${mysql-dir}/include
–with-mysql-lib
–without-mysql-lib=${mysql-dir}/lib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mlib
–without-mlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-zlib
–without-zlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-socketlib
–without-socketlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-nsllib
–without-nsllib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mygcclib
–without-mygcclib
–with-mysqlclientlib
–without-mysqlclientlib
Esto es lo que me sale, sigo con el problema
Ya esta solucionado. Muchas Gracias por la ayuda
Asegurate de tener instalado el
libmysqlclient16-dev