Cómo Instalar MySQL en Debian 9

Cómo Instalar MySQL en Debian 9

En esta entrada vamos a aprender cómo instalar MySQL en Debian 9, 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 en tu máquina Debian de MySQL Server, uno de los sistemas de bases de datos más utilizados y más confiables. No te lo pierdas, que esto promete.

Instalar MySQL en Debian 9

Antes de empezar a instalar MySQL Server en Debian es necesario explicar que la versión MySQL Community Server oficial de Oracle no está presente en los repositorios de Debian. En su lugar, Debian nos ofrece una alternativa GPL que es MariaDB. Si prefieres MariaDB en lugar de MySQL, mírate la entrada para instalar MariaDB en Debian.

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

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

Cómo actualizar los repositorios de Debian 9 para instalar MySQL Server

Nos dirigimos a la página oficial de descargas de MySQL:

como descargar mysql server para debian 9
Página oficial de descargas de MySQL

 

En esta página tenemos un enlace a la sección de repositorios para apt, lugar en el que encontraremos un paquete en formato .deb para todos los sistemas que usan apt como gestor de instalación de software:

repositorios mysql para debian 9
Página con los repositorios de MySQL para Debian 9

 

Ese paquete es el que tenemos que descargar para instalar en nuestro sistema. El enlace nos lleva a una página en la que en primer término se nos ofrece entrar a nuestra cuenta de Oracle, o crear una nueva si no la tenemos. Pero nada de esto es necesario, justo debajo tenemos un enlace «No thanks, just start my download«:

repositorios de mysql para debian 9
Paquete de repositorios de MySQL para Debian 9

 

Al pinchar en ese enlace descargaremos el paquete .deb. O también podemos copiar el enlace para descargarlo en consola mediante wget y lo instalamos mediante dpkg:

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

[...]

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

Al instalar este paquete de repositorios, se abrirá un configurador, ya que hay distintas versiones de los paquetes de MySQL:

configurar repositorios mysql debian 9
Configurador de los repositorios de MySQL para Debian 9

 

Podremos seleccionar entre las distintas versiones disponibles de MySQL Server:

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0
  • MySQL Cluster 7.5
  • MySQL Cluster 7.6
  • 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 MariaDB Server, 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. Para ello, como siempre, primero actualizamos las listas del repositorio y después descargamos el paquete:

~$ 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:

clave root mysql debian
Clave de root para MySQL en Debian

 

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, que es más seguro, pero que podría no ser compatible con ciertos clientes y conectores que no incorporan aún este método:

Aviso del nuevo sitema de autenticación de MySQL 8

 

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

metodo autenticacion mysql server debian
Selección del método de autenticación de usuarios de MySQL Server en Debian 9

 

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 vamos a instalar posteriormente MySQL Workbench 6.3 para Debian 9. 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:

Servicio MySQL Server funcionando

 

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

Si no creamos contraseña (autenticación mysql_native_password) entraremos así:

~$ mysql -u root -p
cliente consola mysql
Cliente de consola mysql

 

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 el nuevo usuario con privilegios totales:

mysql> create user chacho identified by 'contraseña';
Query OK, 0 rows affected (0,10 sec)

mysql> grant all privileges on *.* to 'chacho'@'%' with grant option;
Query OK, 0 rows affected (0,20 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0,03 sec)

mysql> exit
Bye
~$

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. Y por defecto el acceso remoto a MySQL Server está permitido por defecto en la instalación que hemos visto.

Si por algún motivo quisieras 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

Si queremos que no se puedan establecer conexiones exteriores, tendremos que añadir una cláusula bind-address con el valor de la dirección IP de la interfaz loopback, que suele ser 127.0.0.1:

[...]

[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

bind-address    = 127.0.0.1

Y reiniciamos MySQL Server:

~$ sudo systemctl restart mysql

Si posteriormente queremos permitir de nuevo las conexiones remotas, habrá que eliminar o desactivar la cláusula bind-address y volver a reiniciar el servicio.

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 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 este sitio!

Y si te ha resultado útil este artículo, ¡siempre puedes invitarme a un café!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 5,00 de 5)
Cargando…

Esta entrada tiene 4 comentarios

  1. Es una buena aclaración sobre MySQL y MariaDB, pero hubiera aplicado mas la instalación de workbench en Debian

    1. ¡Hola! He modificado este post y ahora trata sobre MySQL de Oracle, con MySQL Workbench para Debian 9. Si estás interesado en MariaDB, tienes un nuevo post en https://chachocool.com/como-instalar-mariadb-en-debian-9/ donde también se explica cómo instalar MySQL Workbench en Debian 9.
      ¡Saludos!

  2. Hola. He intentado instalar mysql en debian 9, siguiendo los pasos de este post, mas los oficiales y otros tantos, pero llego siempre al mismo error.
    Cuando hago sudo apt update luego de la configuracion de los apt, da este error:
    Err:4 http://repo.mysql.com/apt/debian wheezy InRelease
    The following signatures were invalid: A4A9406876FCBD3C456770C88C718D3B5072E1F5

    Si listo las llasves a ver si me me muestra como invalida, lo cual seria logico pero no:

    pub dsa1024 2003-02-03 [SCA] [expires: 2022-02-16]
    A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
    uid [ unknown] MySQL Release Engineering

    la llave no esta ni vencida ni es invalida. ahora ese [unknown] me mata.

    ya san googlee por todos lados e incluso me lei el reporte de bugs sobre los temas de llave pero nada.

    No les paso nada parecido al instalar?

    Gracias y Saludos!

  3. ¿Estás usando Debian 7 (wheezy)? En principio no hay soporte ni de Debian ni de MySQL.

    Acabo de instalar Debian 7.11 64 bits y encuentro que al cargar los repositorios de MySQL a través del paquete que menciono en el tutorial, si dejo por defecto la versión 8 de MySQL Server obtengo un error de apt-get update. Si intento cambiar la versión de MySQL Server, aparece una opción en blanco y «None». Si selecciono la versión en blanco sí que puedo hacer un apt-get update, y al buscar en apt la versión disponible del paquete mysql-server aparece disponible la 5.5.

    He probado a instalar mysql-server (5.5) y todo ha ido bien.

    Con Debian 9.8, sin embargo, el tutorial puede completarse sin incidencias. No sé si todo esto te habrá dado alguna pista.

Deja un comentario

Cerrar menú

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