Ene 22
Casi por casualidad, buscando alguna forma de implementar el algoritmo de comparación de cadenas de levenshtein me he encontrado ésta web que no sólo me ha solucionado el problema sino que me ha parecido de lo más interesante.
Artfulsoftware: Common MySQL Queries / Extending Chapter 9 of Get it Done with MySQL 5&6 (En inglés)
Recordad que para definir funciones a través de la consola de MySQL debemos primero cambiar el delimitador por defecto, definir la función, procedure, trigger o lo que corresponda, y volver a restablecer el delimitador por defecto:
DELIMITER $$
(AQUÍ VA LA DEFINICIÓN DE LA FUNCIÓN, PROCEDURE O TRIGGER)
$$
DELIMITER ;
Feb 11
Leyendo el Blog de Luauf me encontré con éste interesante post en el que ha publicado el esquema del modelo de datos de la bbdd de la wikipedia.
Existen multitud de libros y recursos al respecto, pero si hay tiempo probablemente más adelante cree una serie de tutoriales y guías sobre el modelado de datos. Para los impacientes, aprovecho para poner aquí una web en la que podréis obtener diagramas de modelos de datos de una gran variedad de casos (videoclubs, hospitales, gestion de empleados, catálogo de producto, etc). de forma gratuita. Es uno de los mejores recursos que he encontrado al respecto:
http://www.databaseanswers.org/data_models/index.htm
Dic 22

Si, reconozco que es una de las tareas más tediosas y aburridas que existen, pero implementar una correcta política de copias de seguridad puede salvar ‘tu vida’, coloquialmente hablando.
Anteriormente hablamos sobre la instalación de rdiff-backup para realizar copias de seguridad incrementales, también comentamos en otra ocasión cómo realizar conexiones ssh con llaves encriptadas para poder copiar archivos de forma segura entre servidores vía scp.
Desgraciadamente, no todos tenemos el tiempo suficiente para crear nuestros propios scripts personalizados para realizar las copias de seguridad, por lo que hoy INSTALAREMOS Y CONFIGURAREMOS EN SÓLO 15 MINUTOS ZRM (Zmanda Recovery Manager for Mysql), una sencilla, potente y fiable utilidad (gratuita) para Mysql que se encargará de una de las tareas fundamentales de cualquier administrador de base de datos, las copias de seguridad.
ZRM soporta cualquiera de los Storage Engines de Mysql y realiza tanto backups incrementales como backups totales. ZRM también soporta la última versión de Mysql (5.1), con soporte para realizar backups de particiones, de las que hablaremos más adelante.
Continuar leyendo »
Dic 10
Tienen mil nombres distintos en función del país o la región, chuletas, acordeones…, en nuestra época escolar las usabamos para aprobar los exámenes y en términos de programación se conoce como cheat sheet a las guias rápidas de referencia que no suelen ocupar más de una o dos hojas.
La web Added Bytes (En inglés), tiene un montón de Cheat Sheets que podemos descargar e imprimir, personalmente, yo las he impreso y reunido en una carpeta que me acompaña a todos lados, no sabría vivir sin ella.
Algunas Cheat Sheets:
PHP
CSS
Expresiones regulares
Javascript
Mysql
Jquery
Otras Cheat Sheets:
Added Bytes
Dic 04

Hace tiempo que programé un sistema para servir medios publicitarios online a diversas webs y blogs. Si bien al principio no tuvimos problemas, hace semanas el tráfico del script que sirve la publicidad se ha visto cuadruplicado, llegando a las 5.000.000 de impresiones diarias, ésto dejó al servidor mysql al borde del colapso total con un 99% de uso de CPU.
¿Cómo lo solucioné?. Continuar leyendo »
Nov 30
Uno de los problemas que más me han traido de cabeza últimamente ha sido al modificar unos scripts php para que se conecten a una bbdd en un servidor remoto en lugar de al localhost.
Una vez revisada la configuración del servidor remoto, firewall, permisos y la posibilidad de conectarse a la máquina remota desde nuestro servidor (mysql -u user -p -h host_remoto), los scripts simplemente eran incapaces de conectarse si se ejecutaban a través de apache, en cambio, si se ejecutan a través de CLI, funcionan correctamente.
La razón es que tenía instalado SELinux, el cual impide por defecto al apache conectarse a un servidor de bbdd remotas.
Para habilitarlo:
setsebool -P httpd_can_network_connect=1
Más información
Oct 21
Hace tiempo tuve problemas de rendimiento con un servidor mysql. Estuve bastante tiempo buscando y recopilando información acerca de cómo optimizar el mysql y configurarlo correctamente.
No hay una solución única en cuanto a cual es la configuración óptima, depende del uso, contenido de las bases de datos y especificaciones de hardware, asi que, dada la cantidad de páginas e información que hay al respecto, he intentado crear un archivo de configuración, el cual generalmente me ha funcionado bastante bien.
El contenido del my.cnf despues del salto
No olvidéis hacer una copia de seguridad de vuestro my.cnf antes de modificarlo.
Hay que reiniciar el mysql despues de modificar éste archivo.
Continuar leyendo »
Comentarios recientes