SUN compra MySQL

Posted on January 16th, 2008 in MySQL by admin (576 lecturas)

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

Posted on September 10th, 2007 in Administración DL, MySQL by admin (837 lecturas)

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.

MySQL Proxy 0.5.0

Posted on July 3rd, 2007 in MySQL by admin (1186 lecturas)

Hace una semana MySQL presentó una versión alpha de un nuevo producto relacionado con el sistema gestor open source más usado: MySQL Proxy 0.5.0 alpha.

MySQL Proxy es un sencillo programa que se sitúa entre tu cliente y el servidor o servidores MySQL, pudiendo monitorizar, analizar y transformar la comunicación entre ellos. Esta flexibilidad permite implementar un gran número de casos de uso, por ejemplo:

* balanceo de carga
* failover
* análisis de consultas
* filtrado y modificación de consultas
* … y mucho otros

Es posible encontrar documentación del producto en MySQL Forge .
La versión 0.5.0 alpha de MySQL Proxy está disponible en código fuente y binario para un gran número de plataformas aquí.

Cómo recuperar el password de admin en MySQL

Posted on May 10th, 2007 in MySQL by admin (1194 lecturas)

Recientemente, instalando una aplicación para la gestión de reservas, me llevé la desagradable sorpresa de que en el script SQL de carga de datos, se eliminaban los permisos del usuario root y los dejaba con los mínimos posibles (visualizar tablas y editarlas, pero sin poder crear nuevas BBDD, ni usuarios, ni tablas, ni…) O sea, un desastre. Pero buscando en Internet, encontré la forma de recuperar todos los permisos del usuario root. Incluso se puede usar el método que describo a continuación para resetear el password de root en MySQL a otro que conozcamos (por si se nos olvida el original).

Lo primero, parar/matar los procesos de MySQL que ya estén en marcha:

 /etc/init.d/mysql stop

Relanzar el servidor MySQL, PERO indicándole que no tenga en cuenta ninguna gestión de permisos
(¡via libre!)

  /usr/bin/mysqld_safe --skip-grant-tables &

Conectar con MySQL, SIN password, a la BBDD principal de gestión (que lleva el nombre mysql)

mysql -h your_hostname mysql

Darle permisos al root para TODO. Indicar el nuevo password:

mysql

update user

set Select_priv='Y',

          Insert_priv='Y',

          Update_priv='Y',

          Delete_priv='Y',

          Create_priv='Y',

            Drop_priv='Y',

          Reload_priv='Y',

        Shutdown_priv='Y',

         Process_priv='Y',

            File_priv='Y',

           Grant_priv='Y',

      References_priv='Y',

           Index_priv='Y',

           Alter_priv='Y',

         Show_db_priv='Y',

           Super_priv='Y',

Create_tmp_table_priv='Y',

     Lock_tables_priv='Y',

         Execute_priv='Y',

      Repl_slave_priv='Y',

     Repl_client_priv='Y',

     Create_view_priv='Y',

       Show_view_priv='Y',

  Create_routine_priv='Y',

   Alter_routine_priv='Y',

     Create_user_priv='Y'
     Password = PASSWORD('contraseña')
WHERE User='root';

Recargar los nuevos privilegios:

 FLUSH PRIVILEGES;

Salir del cliente MySQL. Parar MySQL y volverlo a lanzar normal:

 /etc/init.d/mysql start

Bufff! menos mal que existe este método :-)

10 consejos para optimizar las consultas en MySQL

Posted on April 10th, 2007 in MySQL, SysAdmin by admin (918 lecturas)

Justin Silverton, en su blog When Penguins Attack nos muestra 10 puntos que podríamos seguir para optimizar el rendimiento de nuestras querys MySQL. En resumidas cuentas:

1. Usar el comando EXPLAIN

2. Usar estructuras de permisos menos complejas

3. Usar el comando benchmark para medir el rendimiento de algunas funciones mysql específicas

4. Optimizar las cláusulas where

5. Ejecutar el comando optimize para defragmentar las tablas

6. Evitar columnas con tipo de datos de longitud variable allá donde se pueda

7. Usar inserciones con retardo (insert delay, o escritura perezosa)

8. Usar sentencias de prioridad (ej: INSERT LOW_PRIORITY )

9. Usar inserts de múltiples filas en lugar de múltiples inserts individuales
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
10. Seguir estudiando a través de vídeos como éste :-)

Actualización de MySQL 4 a MySQL 5

Posted on March 25th, 2007 in MySQL by admin (1627 lecturas)

Acabo de actualizar mi sistema Linux de Fedora Core 4 a Fedora Core 6. Aparte de un problemilla con la actualización del GRUB que he resuelto en el primer arranque, todo parecía haber ido bien. Sin embargo, la actualización de MySQL 4.x a MySQL 5.x que se ha ejecutado durante el proceso de actualización de Fedora no ha ido todo lo fina que debería. En un principio, parece que todo es correcto, pues las aplicaciones web que tenía alojadas en mi pc local seguían funcionando (y todas ellas hacen uso de MySQL en la capa de datos). Sin embargo, probando MySQL Workbench (el modelador gráfico de bases de datos), no conseguía hacer funcionar la opción de Ingeniería Inversa (dada una base de datos ya construída, extraer el esquema E/R). El error con el que me encontraba era el siguiente:

Error log:

Fetching schemata...

Schemata fetched.

Reverse engineering schema...Error calling

ReverseEngineeringMysql.reverseEngineer: Could not get routines.The schema(ta)

could not be reverse engineered (error: 0)

Could not get routines. (SHOW PROCEDURE STATUS;MySQL Error 1146: Table 'mysql.proc' doesn't exist)

He seguido esa cadena de error (mysql.proc, tabla que se genera para la gestión de procedimientos almacenados) en el bugzilla de MySQL y he visto que al parecer no soy el único al que le ha ocurrido (ver último comentario). La tabla mysql.proc se genera al instalar mysql 5. Si simplemente actualizamos de la versión 4 a la 5, tendremos problemas si no seguimos el último paso que indica explícitamente el manual, y más en concreto aquí: http://dev.mysql.com/doc/refman/5.0/en/mysql-upgrade.html

$ mysqlcheck --check-upgrade --all-databases --auto-repair
$ mysql_fix_privilege_tables

Voilá! Ahora puedo trabajar sin problemas con MySQL Workbench.

MySQL Administrator en Ubuntu

Posted on March 20th, 2007 in MySQL by admin (2086 lecturas)

MySQL Administrator es una aplicación de código abierto para gestionar el servidor de base de datos MySQL de forma gráfica. En general, tras instalarla con apt-get install mysql-admin, funciona bien, pero tiene una gran pega: al pinchar en Gestión de Usuarios la aplicación se queda colgada. Es un bug del que se está quejando mucha gente según el BugZilla de Ubuntu. Y por supuesto, alguien ha dado con un parche que permite usar esta funcionalidad de gestión de usuarios de forma gráfica (menos mal ! ) :

$ export DEBUG_DONT_SPAWN_FETCHES=1
$ mysql-admin

Diseño gráfico de BBDD con MySLQ Workbench

Posted on March 13th, 2007 in MySQL by admin (932 lecturas)

MySQL WorkbenchMySQL WorkBench formaba parte hasta hace bien poco del grupo de aplicaciones gráficas MySQL GUI Tools para gestión del popular servidor de bases de datos. Basado en fabFORCE DBDesigner4, es una aplicación multi-plataforma, desarrollada por la propia empresa MySQL, para poder gestionar/crear/editar/modificar el esquema entidad/relación de una base de datos. También permite la ingeniería inversa (dada una BBDD, extraer el esquema E/R).

Una de las pegas de Workbench (y de DBDesigner) es que es una aplicación bastante (o muy) inestable. Y debido a esa inestabilidad, y a que el equipo de desarrollo se quiso centrar en MySQL Query Browser y MySQL Administrator durante el año 2006, Workbench desapareció de la suite GUI-Tools.

Sin embargo, en un post de este mes en los foros de MySQL, uno de los ingenieros de desarrollo (Michael Zinner) nos indica que durante el 2007, se centrarán y tomarán como producto estrella precisamente Workbench.

Entre las mejoras en las que se emplearán a fondo, destacar :

* Limpieza y refactorización del código actual
* Actualizar el canvas para basarlo en Cairo
* Restructuración de los repositorios Subversion

Por ahora, no hay ningún binario de Workbench disponible, pero es posible descargar el código fuente desde el repositorio Subversion (svn.mysql.com).