Cómo instalar MySQL en Debian 9 Stretch

En esta entrada vamos a aprender cómo instalar MySQL en Debian 9 Stretch, cómo empezar con una configuración básica y cómo acceder remotamente al servidor recién instalado. Con esta guía paso a paso, en unos minutos vas a disfrutar de MySQL Server en tu servidor o VPS Debian, uno de los servicios de bases de datos más utilizados y más confiables. No te lo pierdas, que esto promete.

Antes de instalar MySQL en Debian 9 Stretch

Para completar esta guía de instalación de MySQL Server en Debian 9 Stretch debes cumplir los siguientes requisitos:

  • Una máquina Debian 9 Stretch actualizada.
  • Acceso a consola como root o un usuario con permisos de sudo.
  • Conexión a Internet.

Además necesitaremos algunas herramientas que podemos conseguir desde los repositorios del sistema, por lo que actualizaremos las listas de paquetes:

~$ sudo apt update

E instalamos dichas herramientas:

~$ sudo apt install -y ca-certificates lsb-release wget

Ya tenemos todo listo para hacer el trabajo que nos ha traído aquí, así que regulamos correctamente la altura del escritorio y empezamos.

Instalar MySQL en Debian 9 Stretch

Antes de empezar a instalar MySQL Server en Debian 9 Stretch es necesario explicar que la versión MySQL Community Server oficial de Oracle no está presente en los repositorios de Debian 9. En su lugar, Debian 9 nos ofrece una alternativa GPL  sobre la que hablamos en la entrada sobre cómo instalar MariaDB en Debian 9 Stretch.

Puede que te interese la mayor compatibilidad posible con productos oficiales de MySQL y quieras optar por instalar MySQL Community Server en Debian 9. Esto es justamente lo que vamos a hacer en este tutorial.

Para ello debemos actualizar los repositorios de nuestro sistema Debian 9 con los repositorios adicionales que nos ofrece MySQL.

Repositorios de MySQL Server para Debian 9

Para configurar el repositorio de MySQL en Debian 9 Stretch necesitaremos un paquete que se encarga de configurar dicho repositorio oficial. La versión que podríamos obtener visitando la página oficial de descargas de MySQL NO sirve, ya que sólo es compatible con las últimas versiones de Debian.

Sin embargo, aún podemos obtener la versión 0.8.17-1 del paquete configurador descargándola directamente o desde consola mediante wget:

~$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb

Una vez descargado el paquete lo instalamos con el comando dpkg:

~$ sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb

Al instalar este paquete se lanzará el configurador del repositorio, ya que hay distintas versiones del servidor MySQL:

como instalar mysql server en debian 9 stretch
Configurador de los repositorios de MySQL para Debian 9

Podremos seleccionar entre las distintas versiones disponibles de MySQL Server:

  • MySQL Server versiones 5.6, 5.7 y 8.0.
  • MySQL Cluster versiones 7.5, 7.6 y 8.0.
  • O ninguno

También tenemos posibilidad de activar (opción por defecto) o desactivar el repositorio de herramientas y utilidades de MySQL, entre ellas MySQL Workbench, y un repositorio de paquetes en estado de demostración, no estables, desactivado por defecto.

Una vez que hayamos decidido qué repositorios queremos instalar, seleccionando «OK» comenzará la configuración de los repositorios y lo recomandable es proceder a la actualización de la información de los mismos:

~$ sudo apt update

Uno de los cambios realizados es el paquete mysql-server. En una instalación nueva de Debian 9 este paquete instala la alternativa GPL que comentamos anteriormente, pero tras la actualización que acabamos de hacer instalará la versión de MySQL Server que hayamos seleccionado durante la configuración de los nuevos repositorios.

Vamos a instalar el paquete mysql-server, que instalará tanto el cliente de consola como el servidor:

~$ sudo apt -y install mysql-server

Tras descargar los paquetes principales y dependencias, durante la instalación se abrirá un script interactivo que comenzará a solicitarnos ciertos datos. Empezará pidiéndonos una clave para root:

instalar mysql server en debian 9 stretch
Clave de root para MySQL en Debian 9 Stretch

Si dejamos la contraseña en blanco, solamente root o un usuario con permisos de sudo podrá acceder como usuario root de MySQL. Esto es así porque se usará el plugin de autenticación auth_socket.

Sin embargo, si creas una contraseña, cualquier usuario del sistema podrá acceder como root de MySQL si conoce esta contraseña que acabamos de crear.

En el siguiente paso se nos informa del nuevo método de autenticación de MySQL 8, usando el plugin caching_sha2_password, que es más seguro pero no es compatible con ciertos clientes y conectores que no incorporan aún este método:

instalar mysql en debian 9 stretch
Aviso del nuevo sistema de autenticación de MySQL 8

Hecho el aviso, tendremos que decidir qué método queremos emplear:

instalacion de mysql server en debian 9 stretch
Selección del método de autenticación de usuarios de MySQL Server en Debian 9 Stretch

A no ser que vayas a usar las últimas versiones de los clientes de MySQL, que admiten el nuevo método de conexión, te recomiendo que uses el método antiguo. El mismo MySQL Workbench 6.3, que es el que está disponible para Debian 9, no soporta el método nuevo. Las versiones actuales de MySQL Workbench para Windows sí soportan el nuevo sistema.

Para este ejemplo usaremos el método antiguo, ya que en sucesivos tutoriales instalaremos aplicaciones y servicios que no soportan el nuevo. Tú debes sopesar con qué clientes piensas conectar a la hora de elegir la versión de MySQL Community Server y el método de autenticación si eliges la versión 8.

Esta era la última interacción con el instalador, que procederá con las tareas de instalación y configuración de los paquetes descargados.

Tras todo este proceso, el servicio MySQL Server (mysql.service) queda en ejecución y activado en cada arranque del sistema. Podemos comprobar que está en marcha mediante el comando systemctl status mysql:

Servicio MySQL Server funcionando en Debian 9 Stretch

Cómo crear y configurar usuarios en MySQL

El usuario root es demasiado poderoso para utilizarlo como usuario de trabajo habitual. Lo recomendable es crear otro usuario al que otorgarle permisos totales. Esto es muy importante si queremos tener acceso remoto al servidor MySQL, para evitar accesos no autorizados.

Entraremos en el cliente de consola mysql como root. Si no creamos una contraseña durante la instalación (autenticación auth_socket) entraremos así:

~$ sudo mysql

En caso contrario, si creamos contraseña para root entraremos así:

~$ mysql -u root -p
cliente de consola mysql en debian 9 stretch
Cliente de consola mysql en Debian 9 Stretch

En el mensaje de bienvenida podemos ver la versión de MySQL Community Server que tenemos instalada en nuestro sistema Debian 9.

Crear un superusuario en MySQL

Una vez en la consola del cliente de MySQL crearemos un nuevo usuario:

> create user chacho identified by 'XXXXXXXX';

Y a continuación le daremos privilegios totales:

> grant all privileges on *.* to chacho with grant option;

Sólo queda refrescar las tablas de permisos y salir del cliente:

> flush privileges;
> exit

Este usuario se crea con permiso de acceso remoto, ya que no hemos añadido @localhost a su nombre. Así tendremos un usuario que puede acceder de forma remota, desde cualquier ubicación de red, ya sea local o Internet.

Cómo configurar MySQL en Debian 9 para acceso remoto

Ahora que ya sabemos cómo instalar MySQL en Debian 9, probablemente para usarlo en una máquina servidor, vamos a facilitarnos un poco el trabajo mediante acceso remoto.

Para poder acceder remotamente al servidor MySQL que estamos montando, su configuración debe permitirlo. Por defecto el acceso remoto a MySQL Server 8 está permitido, pero no para MySQL 5.

Si por algún motivo quisieras activarlo o desactivarlo, el archivo de configuración de MySQL que hay que ajustar es /etc/mysql/mysql.conf.d/mysqld.cnf, cuyo contenido, aparte de comentarios informativos, es el siguiente en la instalación por defecto:

...
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
...

Para que no se puedan establecer conexiones externas, tendremos que asegurarnos de que exista una cláusula bind-address con el valor de la dirección IP de la interfaz loopback, que suele ser 127.0.0.1:

...
bind-address    = 127.0.0.1

Y si lo que queremos es permitir dicho acceso remoto bastará con eliminar la directiva bind-address (si existe) o desactivarla insertando un carácter # a principio de línea:

...
#bind-address   = 127.0.0.1
...

Y reiniciamos MySQL Server:

~$ sudo systemctl restart mysql

Configurar el firewall UFW de Debian 9 para MySQL Server

Si tienes activado el firewall UFW en Debian 9 Stretch, algo más que recomendable, necesitarás añadir una regla para permitir el acceso remoto a MySQL Server:

~$ sudo ufw allow mysql

El efecto es inmediato.

Cómo conectar MySQL WorkBench con un servidor remoto

En esta sección veremos cómo instalar MySQL WorkBench en Debian 9. De esta forma podremos conectar desde un entorno gráfico con nuestro servidor Debian 9, que puede estar virtualizado, formar parte de la red local o estar en Internet como VPS o hosting.

Cómo descargar MySQL WorkBench para Debian 9

Usando apt descargaremos e instalaremos MySQL Workbench para Debian 9:

~$ sudo apt -y install mysql-workbench

Y ya tenemos MySQL Workbench instalado y listo para usar.

Cómo configurar la conexión remota en MySQL WorkBench

Ejecutamos MySQL Workbench y en la pantalla inicial es donde realizaremos la configuración de la conexión remota:

como instalar mysql workbench en debian 9
Pantalla de inicio y conexiones de MySQL Workbench en Debian 9

Junto a «MySQL Connections» tenemos el botón para añadir nuevas conexiones abriendo el diálogo de configuración de creación de conexión:

conexion mysql workbench debian
Creando una nueva conexión en MySQL Workbench

Debemos facilitar los parámetros de la nueva conexión:

  • Connection name: Un nombre para identificar la nueva conexión.
  • Hostname: El nombre del servidor o su dirección IP, o localhost si es la máquina local.
  • Username: El nombre del usuario con el que queremos conectar.

Una vez cumplimentados los datos pinchamos en «Test Connection» y si hay conectividad y el usuario es correcto, se abrirá un diálogo solicitándonos la contraseña:

mysql workbench password debian
MySQL Workbench solicita la contraseña de la nueva conexión

Tecleamos la contraseña y podemos marcar «Save password in vault» para que MySQL WorkBench la guarde para la próxima ocasión. Podemos continuar y se nos informará de que todo ha ido correcto (si hemos proporcionado todos los datos correctamente):

Se ha conectado con éxito a MySQL Server

Y acabamos de ver que la prueba ha sido exitosa. Pinchamos en OK para cerrar el aviso y otra vez OK para cerrar la venta de configuración. Regresaremos a la pantalla inicial:

conexiones mysql workbench debian
Conexión creada

Ya tenemos la nueva conexión en la lista de conexiones configuradas. A partir de ahora, para conectar con el servidor un simple clic en el panel de la conexión abrirá directamente (si optamos por guardar la contraseña) el espacio de trabajo.

espacio de trabajo mysql workbench debian
Espacio de trabajo de MySQL Workbench

Ahora que sabemos cómo instalar MySQL Server en Debian 9, ya podemos crear usuarios, bases de datos, tablas, modificar datos, etc. Pero eso, amigo, ya es otra historia…

Conclusiones finales

Hemos visto cómo instalar MySQL en Debian 9 Stretch paso a paso, sin hacer nada más especial que añadir algunos repositorios nuevos al sistema.

La creación de usuarios desde consola es rápida, pero trabajar habitualmente en consola puede ser tedioso y frustrante cuando no se domina SQL a fondo.

Por ello, MySQL WorkBench nos puede echar una mano, dejándonos trabajar desde nuestro escritorio favorito (Windows, Linux, Mac), ya sea en local o de forma remota.

Espero que te haya resultado útil el tutorial. Si has visto cualquier error o tienes alguna pregunta o sugerencia, o quieres proponer una mejora del artículo, no dudes en dejarme un comentario.

¡Apoya chachocool.com!

Si te ha resultado útil este artículo y quieres agradecérnoslo, puedes hacerlo dejando 1 $ de propina con PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies