10 consejos para MySQL

En el mundo de la programación, como en la vida misma, hay que ser ordenado y elegante. Hay que seguir unas pautas para que seamos más eficientes y evitarnos de los malos hábitos. A la hora de crear una base de datos pasa exáctamente lo mismo. Tenemos que ser cuidadosos a la hora de crear y de ejecutar comandos en una base de datos para evitarnos peligros mucho mayores. Y es que, la base de datos en una web, ya que estamos hablando de MySQL, es una de las partes más importantes del desarrollo. Más aún si almacenamos en ella datos sensibles como datos personales de usuarios y/o clientes.

Es por eso que hay que seguir unas normas que nunca debemos saltarnos a la hora de trabajar con una BD. A continuación os muestro una serie de consejos que deberíamos seguir a rajatabla cuando estemos manejando o tengamos que crear una base de datos MySQL. Muchos de estos consejos ya nos lo dieron en nuestro época de estudiante, pero la rutina los olvida y los oculta en lo más lejano de nuestro inconsciente. Hoy los traemos otra vez a la vida para que no vuelvas a caer en estos errores tan peligrosos.

¿Quieres conocer estos pequeños consejos que te ahorrarán muchos problemas? Allá vamos...

  • Ponle contraseña al usuario root y luego cámbiale de nombre: lo más normal es ponerle contraseña al usuario root, pero no nos sorprendamos si vemos un root sin password o con algo tan ridículo como root_1. Lo que si no se suele hacer mucho es cambiar el nombre al root y eso es una buena idea que habría que tener siempre en cuenta... pero que tampoco sea admin (como dice el artículo), sino algo más difícil de adivinar.
  • Oculta MySQL de Internet: MySQL no necesita estar accesible desde Internet, por lo que mejor evitar esa posibilidad.
  • Protege el directorio de instalación de MySQL de otros usuarios
  • No almacenes datos binarios: que MySQL lo permita no quiere decir que sea lo mejor hacerlo. MySQL envía los datos de una única vez, esto implica que hasta que no se envíe el campo completo, la aplicación no puede parsear la información. Es preferible almacenar los datos en el sistema de ficheros y almacenar en la BD un ruta hasta el fichero. Aunque yo casi recomendaría guardar en la BD una clave, para que mediante una lógica en la aplicación se pueda recuperar la ruta, así, si tenemos que modificar la ruta no tenemos que modificar todos los registros de la BD, tan solo la lógica del programa.
  • Usa SQL standard: MySQL ofrece posibilidades que no son del SQL estándar y que pueden aportarnos muchas ventajas, el problema es que nos limita a exportar nuestra aplicación a otras BD si en un futuro lo necesitamos. La solución es no ejecutar esas sentencias directamente, sino mediante una clase, que extienda de una clase genérica, así podremos simular esas funcionalidades de MySQL en otras BDs creando otras clases para cada motor de BD.
  • Crea tu propio generador de auto_increment: el auto_increment nos crea números consecutivos que podemos usar en nuestras tablas, pero con limitaciones, solo existe un auto_increment por tabla y son independientes de las tablas, por lo que distintas tablas pueden tener mismo id, lo cual puede no convenirnos en algunas circunstancias.
  • No mezcles código de presentación con el de acceso a BD: es el sistema MVC que siempre debemos usar.
  • Normalización y denormalización: la normalización nos permite tener una BD sin datos redundantes. Desafortunadamente, a veces esta pena el rendimiento, para lo cual, una vez normalizada la BD es conveniente denormalizarla.
  • Usa un pool de conexiones en el servidor Web o en el servidor de aplicaciones: la conexión a la BD es algo costoso, si compartimos conexión mediante un pool, ganaremos en rendimiento.
  • Mejoras tus queries con EXPLAIN SELECT: aunque es un comando difícil de seguir, nos puede ayudar mucho.

Y estos han sido todos los consejos que deberíamos aplicar sí o sí en nuestros proyectos web. No porque seamos más elegantes y pulcros a la hora de hacerlo, sino por la seguridad de la base de datos y del proyecto en sí. No olvides de repasar cada uno de los puntos cuando termines de implementar un desarrollo para ver si se cumplen cada uno de los tips.

Esperamos que este artículo haya sido de tu agrado y no tengas más invulnerabilidades en tus próximos trabajos. Por nuestra parte creemos que estas pautas son las que debemos seguir cuando trabajamos con un BD, pero si tu tienes otras que se nos hayan olvidado, estamos encantados de que los compartas con nosotros en la zona de comentarios un poco más abajo.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP