Detrás de cada sitio web hay una base de datos, y a menudo funciona con MySQL. Aprender a configurar el servidor es muchas veces la primera prueba real para un nuevo webmaster o desarrollador, y MySQL Community Server ofrece una forma gratuita y de código abierto para empezar.

¿Qué hace que MySQL Community Server sea el mejor software de bases de datos? ¿Qué otro software le hace frente? ¿Y cómo puedes hacer que funcione correctamente en tu servidor web?

Responderemos a todo eso en este artículo, y más. Aprenderás todo lo que necesitas saber para configurar un servidor comunitario MySQL en tu máquina.

¡Comencemos!

¿Qué es un servidor comunitario MySQL?

Casi todos los sitios web necesitan una base de datos. Los que no la necesitan son sitios pequeños con poco más que páginas estáticas. Una  base de datos simplifica la gestión de grandes cantidades de contenido de forma estructurada y accesible.

Una base de datos de WordPress con sus tablas y filas.
Una base de datos de WordPress con sus tablas y filas.

En WordPress, la base de datos almacena entradas completas, páginas y otros datos personalizados como etiquetas y comentarios. Además, si los datos pueden ser modificados, añadidos o eliminados, es probable que se almacenen en una base de datos. Así que es fácil imaginar la cantidad de datos que pasan por una base de datos.

SQL son las siglas de Structured Query Language (lenguaje de consulta estructurado). Y es un lenguaje web similar a JavaScript o HTML. SQL se utiliza principalmente para ayudar a gestionar y manipular bases de datos. Aunque existen alternativas, SQL es la opción más popular que se utiliza en una gran mayoría de sitios web.

Mientras que SQL es el lenguaje que utilizas para comandar tu base de datos, necesitarás un sistema de gestión de bases de datos para manejar todas las complejidades de la base de datos. Y ahí es donde entra MySQL.

Al ser el sistema de gestión de bases de datos más popular del mercado, MySQL es el preferido de los desarrolladores y administradores web a la hora de configurar una base de datos en su servidor.

¿Es gratuito MySQL Community Server?

Aunque existe una versión de pago de MySQL para empresas, todas las características principales que probablemente utilizará están en la Edición Comunitaria de MySQL. Además, se puede descargar de forma gratuita en los más de 20 sistemas operativos que soporta, y no hay cargos ocultos ni trampas repentinas.

Esencialmente, MySQL Community Server viene sin restricciones.

Descargas de la Comunidad MySQL
Descargas de MySQL Community

Además, está disponible bajo la licencia GPL. Esto significa que es libre, de código abierto, y puede ser utilizado y modificado para proyectos comerciales. Por lo tanto, no hay problemas legales con los usos típicos de MySQL en tu servidor.

Dicho esto, es posible que tengas que liberar todo tu proyecto bajo la licencia GPL si decides distribuir tu código fuente, así que asegúrate de leer la licencia.

En comparación con otros programas, que suelen ser de pago o tienen versiones gratuitas muy restrictivas, MySQL es una opción de primera clase.

Cosas clave que hay que saber sobre MySQL Community Server

Como cualquier software, MySQL tiene algunas limitaciones que querrás tener en cuenta. Algunas de ellas son el resultado de errores. Otras ocurren porque un programa sólo puede almacenar una cantidad determinada de datos.

En cualquier caso, deberás tenerlos en cuenta y posiblemente buscar una alternativa si son un obstáculo para tu proyecto.

Estas son las principales limitaciones que hay que tener en cuenta:

  • Límite de tamaño de la tabla: Hay varios límites duros en el tamaño de las filas y columnas. Sólo puedes tener 4.096 columnas en una sola tabla, aunque podría ser menos. Además, hay un límite de tamaño de fila de 65.535 bytes.
  • MySQL impone restricciones: Incluso si tu motor de almacenamiento soporta filas y columnas más grandes, MySQL no te permitirá crear ninguna por encima del límite.
  • Windows impone más límites: Las versiones de Windows de MySQL vienen con restricciones adicionales. Las versiones de 32 bits de Windows no pueden utilizar más de 2GB de RAM en un proceso. Además, un servidor Windows sólo puede utilizar 4000 puertos, que pueden llenarse rápidamente cuando muchos clientes se conectan a tu base de datos.
  • Límites de funciones y rutinas: MySQL tiene varias limitaciones autoimpuestas en las funciones y rutinas que querrás tener en cuenta si te encuentras con problemas.
  • Las bases de datos grandes pueden tener un rendimiento deficiente: Cuando se trata de bases de datos enormes con volúmenes masivos de contenido para almacenar y ordenar, MySQL puede empezar a sufrir. Incluso hacer copias de seguridad y restaurarlas puede convertirse en un problema.
  • Ten cuidado con los problemas de memoria: Los problemas de memoria pueden ser un problema masivo con MySQL, y cuando se queda sin memoria, puede que no esté claro qué está causando la repentina congelación.

Aunque pueda parecer una lista preocupante, cada sistema de gestión de bases de datos tiene sus pros y sus contras, y MySQL es adecuado para la mayoría de los proyectos. Los sitios web empresariales enormes y los grandes datos pueden llevar a MySQL a sus límites, pero los proyectos pequeños y los sitios web decentemente activos funcionarán bien.

MySQL Community Server vs MySQL Enterprise Edition

MySQL cuenta con dos ediciones distintas: la Community Server y la Enterprise. La primera es la versión de código abierto de MySQL que todo el mundo conoce y ama. La edición Enterprise existe para ofrecer una versión de pago, pero más robusta, adecuada para sitios web de grandes empresas.

MySQL Enterprise Edition.
MySQL Enterprise Edition.

Aquí tienes otros consejos de seguridad:

  • Cifrar las contraseñas: Almacenar contraseñas en texto plano en la base de datos puede ser extremadamente peligroso. En su lugar, sigue las directrices sobre contraseñas y cifra tus contraseñas. Si utilizas un plugin de WordPress, probablemente se encargará de ello.
  • Limite el acceso de los usuarios: Nunca des a los usuarios non-root acceso a la tabla de usuarios.
  • Por favor, no utiliza el usuario root para tu servidor: En los sistemas Linux, nunca ejecutes el servidor MySQL en el usuario root (ya que tiene acceso a todos los comandos y los hackers pueden causar más daño).
  • Limite los privilegios:  Asigna a los usuarios los privilegios de cuenta adecuados y evita darles más acceso del necesario. Exige siempre una contraseña a todos los usuarios.
  • Prohibir el código en los formularios:Evita que los usuarios ejecuten código en tu sitio a través de los input boxes (como los formularios).
  • Implantar un cortafuegos: Utiliza un cortafuegos para tu servidor de base de datos para bloquear el acceso no deseado.
  • Use SSL: El SSL encripta tu sitio web para ocultar todos los datos que pasan por tu servidor.
  • Elimina la base de datos de prueba: Elimina la base de datos de prueba (si «mysql_secure_installation» no la eliminó) ya que cualquiera puede acceder a ella.

Cómo instalar MySQL Community Server en Windows

No estás familiarizado con Linux? ¿O estás ejecutando tu servidor en una máquina Windows?

Por suerte para ti, hay una sencilla herramienta de instalación de MySQL que puedes utilizar para poner en marcha MySQL en tu sistema operativo. No hay una configuración larga y complicada o un código confuso, sólo un asistente de instalación estándar de Windows.

Instalador de MySQL para Windows.
Instalador de MySQL para Windows.

Paso 1: Descargua el instalador de MySQL para Windows. Deberías ver dos archivos: el instalador web y el instalador alternativo. Elige el primero si vas a tener una conexión a Internet mientras se descarga MySQL. Si no, elige la segunda opción. También puedes descargar el archivo zip, descomprimirlo y luego instalar MySQL manualmente. Pero no puedes configurarlo con el asistente de instalación.

Paso 2: Una vez descargado MySQL, haz doble clic en el instalador para abrirlo. Procede a través de las pantallas mostradas para completar la instalación.

Instalador de MySQL
Instalador de MySQL

Paso 3: Pronto llegará a una pantalla de tipo de configuración. Supongamos que estás usando MySQL como desarrollador, selecciona Developer Default. La opción Server only es la mejor para máquinas servidoras. Si no estás seguro, nunca está de más elegir la opción Completa para descargar todos los componentes. El programa de instalación puede pedirle que instales un software de prerrequisito; permite que esto se resuelva automáticamente o busca las herramientas necesarias en línea.

Tipo de instalación de MySQL.
Tipo de instalación de MySQL.

Paso 4: Una vez que hayas descargado todo lo que has seleccionado, llegarás a una pantalla de configuración. Puedes dejar la mayoría de los ajustes por defecto (pero asegúrate de elegir Ordenador Servidor o Ordenador Dedicado si vas a configurar un servidor de bases de datos en esta máquina).

También tendrás que establecer una contraseña de root y, opcionalmente, añadir usuarios adicionales.

Y si quieres que MySQL se ejecute al inicio, asegúrate de marcar la casilla correspondiente.

Paso 5: Con la configuración terminada, se completará la instalación. Si está listo para probar MySQL, deja marcado Iniciar MySQL Workbench después de la instalación. Siempre puedes iniciar MySQL Workbench más tarde haciendo clic en el menú de inicio y escribiéndolo en la barra de búsqueda.

Con esto, has instalado MySQL correctamente y puedes empezar a probarlo.

Instalar MySQL Community Server en Linux

A diferencia de Windows, no hay una forma directa de ejecutar un instalador y tener MySQL funcionando en tu máquina. En su lugar, tendrás que utilizar la línea de comandos para instalar MySQL. Esto utilizará los gestores de paquetes incorporados en el sistema operativo.

Por suerte, esto es teóricamente mucho más fácil que tener que ejecutar un instalador de diez pasos en Windows. Todo lo que tienes que hacer es lanzar el Terminal para empezar.

A continuación se explica cómo hacerlo en sistemas operativos basados en apt como Ubuntu (una nota antes de empezar: puede que necesites instalar el Repositorio APT de MySQL antes de empezar):

Paquetes de configuración del repositorio.
Paquetes de configuración del repositorio.

Paso 1: En primer lugar, actualiza los paquetes instalados en tu máquina para asegurarte de que está recibiendo la última versión de MySQL:

sudo apt update.
sudo apt update.

Paso 2: Ahora ejecuta este código para instalar MySQL:

sudo apt install mysql-server

Este comando ejecutará la mayoría de las funciones de instalación e iniciará el servidor. Si el comando te pide elegir una versión, selecciona la más reciente, que actualmente es la 8.0 (a menos que sepas que necesitas una versión diferente).

Paso 3: Ejecutar la instalación segura para parchear los agujeros de seguridad:

sudo mysql_secure_installation

Paso 4: MySQL debería iniciarse automáticamente, pero puedes ejecutar este comando si notas que no se inicia:

sudo service mysql restart

Para los sistemas basados en yum como CentOS 7, los pasos son muy parecidos. La diferencia es que necesitarás el repositorio Yum de MySQL. En su lugar, debes reemplazar los comandos apt con yum.

Instalar MySQL Community Server en Mac

Algunas versiones de Mac OS X vienen con MySQL preinstalado. Puedes comprobar si está en tu ordenador ejecutando este comando en el Terminal:

mysql -V

Si ves una salida, entonces MySQL ya está instalado, y no necesitas hacer nada más. Sin embargo, te recomendamos que utilices la versión 5.7 u 8.0. Si tu versión es inferior a esta, es posible que desees instalar una nueva versión de MySQL.

Dado que Mac no viene con el mismo gestor de paquetes que Linux, utilizaremos en su lugar Homebrew, un popular programa que hace que la instalación de MySQL (y todo tipo de cosas) sea extremadamente fácil.

Uso de Homebrew en Mac.
Uso de Homebrew en Mac.

Paso 1: Después de instalar Homebrew, pon el siguiente comando en el Terminal:

brew install mysql

Este comando debería instalar MySQL 8.0 e iniciar instantáneamente el servicio.

Paso 2: Ejecuta el proceso de instalación segura:

mysql_secure_installation

Paso 3: Si el servidor MySQL no se ha iniciado, puedes hacerlo manualmente:

brew services start mysql

Resumen

Iniciar un servidor MySQL puede parecer una tarea desalentadora, pero no es demasiado difícil una vez que se le cojas el truco. Ya sea que hayas utilizado el instalador de Windows o la Terminal para configurarlo, ahora deberías tener los inicios de una base de datos SQL funcional en tu computadora.

Ahora que tienes una base de datos, debes hacer una copia de seguridad y mantenerla protegida. Echa un vistazo a nuestra guía para hacer una copia de seguridad de tu base de datos MySQL, para que no pierdas nunca ningún dato. Ambas cosas son fundamentales para mantener tus sitios web seguros.