OLD_PASSWORD en Mysql

Cuando Mysql pasó a la versión 4.1, la mayoría hicimos el cambio, actualizamos la base de datos, se habrá ajustado el código si correspondía, y se actualizaron los conectores de Mysql.

Uno de los cambios fue en el algoritmo de autenticación que utiliza la base de datos.

Muchos de los programas que se utilizaban, hicieron lo propio, y también actualizaron; pero hubieron algunos que no lo lograron (por los motivos que sea). En mi caso, fue el DBDesigner el que me trajo algo de dolor de cabeza.

Al querer conectarse, se obtenía un poco agradable mensaje que rezaba.

Client does not support authentication protocol requested
by server; consider upgrading MySQL client

Por suerte, existe una solución de compatibilidad.

Continue reading

Mantenimiento de tablas en Mysql

Pequeña gran instrucción para mantener la salud de nuestras tablas.

OPTIMIZE TABLE tabla;

Lo que logramos es eliminar por completo todo el espacio ocupado por registros que ya han sido borrados. Si esto lo pensamos sobre una tabla que tiene, como mínimo, miles de escrituras diarias, vamos a poder ver cómo ayuda la ejecución periódica de ésta sentencia.

Para más información, la documentación oficial.

Recuperar contraseña de root en Mysql

Hace un par de días, me tocó tener que configurar varios servicios de un servidor recién instalado (por otra persona). Como puede darse en estos casos, a veces la documentación que te facilitan, no coincide con la realidad.

En mi caso, no había forma de acceder a Mysql. El usuario root no respondía en lo más mínimo. Es por eso que recurrí a mi memoria y a mis apuntes, y me dispuse a cambiar la contraseña del usuario root.

A continuación, los pasos para cuando nos topemos con la misma situación (el ejemplo está basado en su aplicación sobre Linux).

Detenemos el servicio de Mysql.

/etc/init.d/mysql stop

Continue reading

Cómo obtener el tamaño de una base de datos en PostgreSql

De repente tu aplicación empezó a funcionar, y la base de datos empieza a crecer.

Ahora bien, ¿cómo saber cuánto pesa tu base de datos en PostgreSql?. Bastante fácil, con la siguiente consulta.

SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS SIZE FROM pg_database;

De ésta forma, conseguimos los tamaños de nuestras bases y vemos algo como lo siguiente.

  datname  |  size
-----------+---------
 template1 | 4336 kB
 template0 | 4248 kB
 postgres  | 4336 kB

Si quisieras obtener el tamaño de alguna base en particular, será cuestión de agregarle la condición y preguntar por el nombre de la base buscada.

Así de rápido termina este pequeño tip.

Backup de bases de datos en Mysql

Hoy un post cortito, pero no por eso, menos efectivo.

Si leíste mis últimos posts, creo que se nota la importancia que le doy al resguardo de la información.

Es por eso que vamos a ver que sencillo es hacer un backup de una base de datos de Mysql.

Lo único que necesitamos, es ejecutar el siguiente comando.

mysqldump -hhost -uusuario -ppassword basededatos > basededatos.sql

Si bien es bastante calaro, vamos con la explicación del comando.

Continue reading

Automatizar backups de PostgreSql

Ya vimos cómo hacer un backup en PostgreSql. Ahora, para ahorrarnos tiempo y tener algo más de tranquilidad, vamos a ver cómo automatizar ese proceso.

Si por casualidad el primer pensamiento es poner las instrucciones para pg_dump en un script, lamento desilusionar. Tendríamos un pequeño problema, y es que el comando se quedará frenado pidiéndonos la contraseña del usuario que quiere hacer el backup.

Como siempre, tenemos una salida.

Continue reading

Resolución de nombres en Mysql

Desde la versión 4.1 de Mysql, cada vez que nos conectamos de manera remota al motor de base de datos, éste tratará de resolver el nombre de nuestro host.

Para un entorno de desarrollo, esto puede ser bastante engorroso, ya que los tiempos de respuesta suelen verse afectados, al punto de que puede tornarse algo más que incordioso.

Para evitar esto, basta con agregar a nuestro archivo de configuración (my.ini en Windows y my.cnf en Linux), la siguiente directiva:

[mysqld]
skip-name-resolve

Luego reiniciamos el servicio, y listo. Ya tenemos nuestra base de datos nuevamente funcionando, y con los tiempos de respuesta a los que estábamos acostumbrados.

Backup de bases de datos en PostgreSql

Un tema, para nada olvidable, es el de los backups.

Lo siguiente, es la descripción de cómo podemos lograr un dump nuestro PostgreSql desde la línea de comandos.

pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f "/home/damian/backups/mibase.backup" mibase

Ahora bien, empezemos a ver qué estamos haciendo y con que nos estamos encontrando.

Continue reading