Por DANIEL M. MALDONADO el 21 de julio 2010.
Las bases de datos son un elemento fundamental a la hora de registrar datos que obtenemos o producimos de nuestras aplicaciones, aprender a utilizar estas bases de datos son una tarea esencial y que no debemos dejar pasar por alto.
Me parece interesante mostrarles algunas ideas que se me ocurren para poder dominar estas bases de datos, no se si para terminar siendo un DBA (Administrador de Bases de Datos) pero sí para tener una noción global de las tareas esenciales que debemos realizar.
Vamos a proponer un escenario para comenzar a plantear las ideas. Vamos a suponer que tenemos un servidor de bases de datos, ya sea Open Source o de licencia paga, pero el servidor de Bases de datos se encuentra instalado y configurado, listo para ser manipulado. Continuar leyendo
Por DANIEL M. MALDONADO el 11 de enero 2010.

Hace poco les dejé un pequeño script para realizar backup de las Bases de Datos MySQL en archivos separados, una utilidad por demás de necesaria, entre sus comentario JORDI me recomendó que probara un script un poco más potente, simple y efectivo llamado AutoMySQLBackup.
AutoMySQLBackup tiene la particularidad de realizar resguardos de seguridad en forma diaria, semanal y mensual gracias a la herramienta mysqldump, además puede almacenar solo un archivo de copia o varios archivos separados para cada base de datos que pueden ser comprimidos (con gzip y bzip2).
La instalación es muy simple, basta con descargar el script desde SourceForge, modificar algunos parámetros dependiendo de su configuración en MySQL como por ejemplo, el usuario y la contraseña, la ubicación de las copias de seguridad, etc. Continuar leyendo
Por DANIEL M. MALDONADO el 07 de enero 2010.
Desde hace un tiempo me encontré con la necesidad de realizar constantemente backup de todas las bases de datos de mi servidor MySQL y encontré este interesante y simple Script en Bash que lo vi hace un tiempo en el blog tail -f | sysadmin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/bin/bash
PORT="3306"
USER="root"
PASSWORD="yourpassword"
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
TABLES=`$mysql -P $PORT -u $USER --password=$PASSWORD --execute="SHOW DATABASES;" |awk '{print($1)}' |grep -v "Database" |grep -v "information_schema"`
for table in $TABLES; do
echo "Backing up $table..."
file=$table.backup_`date +%Y%m%d`.sql
$mysqldump -P $PORT -u $USER --password=$PASSWORD $table > $file
echo "Compressing backup..."
gzip $file
done |
Por DANIEL M. MALDONADO el 10 de diciembre 2009.

Hoy recordé que tenía pendiente probar una herramienta para modelar mis bases de datos, entonces fue cuando me encontré con MySQL Workbench.
MySQL Workbench es multiplataforma, desarrollada por el proyecto MySQL y actualmente se la conoce como la sucesora de DBDesigner4.
La versión que tengo descargada (5.2.6) se encuentra en inglés, aunque de todas maneras es muy intuitivo hacer uso de esta excelente herramienta.
Si te gusta trabajar de una forma visual, cómoda y ágil, sin dudas MySQL Workbech es tu herramienta de modelado de datos.
Entre las opciones que nos ofrece, encontramos la exportación e importaciones de modelos, generar diagramas en PDF, sincronización con servidores y extender sus funcionalidades por medio de plugins. Continuar leyendo
Por DANIEL M. MALDONADO el 27 de noviembre 2009.
Hace ya un tiempo vimos como crear usuarios en MySQL, ahora nos queda ver como podemos eliminarlo del Motor de Base de Datos.
Como siempre lo primero que vamos a hacer es conectarnos con la cuenta de root al servidor de bases de datos MySQL, de la siguiente manera:
1 2
| $ mysql -h localhost -u root -p
Enter password: |
Una vez que identificamos cuál es el usuario que vamos a eliminar, podemos chequear si tiene algún tipo de privilegios, de la siguiente manera:
1 2 3 4 5 6 7 8
| mysql> SHOW GRANTS FOR user@localhost;
+-------------------------------------------------------------------------------------------+
| Grants for user@localhost |
+-------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD '*ACB8688EF254D9B41F8BE7EA8DC93FFAB48EDAA0' |
| GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `BaseDatos`.* TO 'user'@'localhost' |
+------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec) |
Pues aquí nos muestra todos los privilegios que tenemos sobre la Base de Datos “BaseDatos”. Continuar leyendo
Por DANIEL M. MALDONADO el 27 de noviembre 2009.

Acá les dejo un enlace, escrito por Burak Guzel, sobre algunas prácticas en los servidores MySQL, para lograr el máximo rendimiento de este servicio.
En esta lista con 20 items interesante encontramos:
- Optimización de queries para la caché.
- Evitar SELECT (*)
- Usar ENUM en vez de VARCHAR
- Usar campos de longitud fija.
- No usar ORDER BY RAND()
Este y muchos items más se encuentran explicados y ejemplificados para su mayor comprensión.
Por DANIEL M. MALDONADO el 05 de octubre 2009.

WikiBooks nuevamente nos propone dentro de su colección de MySQL, poder optimizar las funciones y consultas de nuestro Servidor de Bases de Datos, para ello nos provee de algunas herramientas, aplicaciones y nuevas configuraciones.
Para ello vamos a aprender a identificar algunos problemas para luego finalizar con la optimización de recursos en nuestro servidor.
Enlace | MySQL/Optimization
Por DANIEL M. MALDONADO el 30 de agosto 2009.
Podemos entender como Integridad Refencial a la propiedad, aplicada en las Bases de Datos, que nos garantiza que una Entidad (fila o registro) se relaciona con otra entidad que EXISTE en la Base de Datos. Nos aseguramos en todo momento que la información no esté repetida innecesariamente, que exista tal información, relaciones mal hechas…

Esto y mucho más nos comenta la gente de bibigeek en su tutorial de como crear Foreign Key (integridad referencial) con MySQL, les aseguro que está muy interesante.
Enlace | bibigeek