Cómo instalar MySQL en Debian 10 Buster

En esta entrada te explico cómo instalar MySQL Server en Debian 10 Buster paso a paso, de modo que si prefieres la implementación oficial y nativa de este motor de bases de datos, al final de esta guía tendrás funcionando sobre tu servidor o VPS Debian el servicio con la última versión disponible, creando tus propios usuarios, acceso remoto, etc.

Nota: Debian 10 Buster dejó de recibir soporte de seguridad en septiembre de 2022, por tanto MySQL se sumó igualmente al fin del soporte. En esta pequeña guía te explicamos cómo obtener la última versión lanzada con soporte para Debian 10 (MySQL Server 8.0.33), pero lo ideal sería que actualizaras tu sistema a la versión estable actual de Debian.

Antes de instalar MySQL Server en Debian 10 Buster

Para seguir esta guía de instalación de MysQL en Debian 10 Buster deberías asegurarte de que cumples estos requerimientos:

  • Un sistema Debian 10 Buster actualizado.
  • Conexión a Internet.
  • Acceso al sistema con un usuario con privilegios de sudo, o el propio root.

Cómo descargar MySQL Server para Debian 10

Vamos a descargar MySQL Server para Debian 10 Buster desde su sitio web oficial, ya que, a diferencia de otros sistemas de bases de datos, MySQL nativo no está presente en los repositorios de Debian 10.

Los repositorios oficiales que ofrece MySQL actualmente sólo están destinados a las versiones de Debian con soporte. No es el caso de Debian 10 Bullseye, así que no vale la pena visitar la zona de descargas del repositorio para APT.

Por suerte, todavía está disponible la descarga de la herramienta para configurar el último repositorio de MySQL compatible con Debian 10. Desde una terminal de comandos podemos descargar dicho paquete mediante el comando wget:

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

Una vez descargado este paquete lo instalaremos desde consola con apt:

~$ sudo apt -y install ./mysql-apt-config_0.8.24-1_all.deb

Antes de instalar este paquete se comprobarán sus dependencias, descargándose e instalándose aquellas que sean necesarias por no estar presentes en el sistema. Terminada la descarga de paquetes durante la instalación aparecerá un configurador del repositorio de MySQL:

cómo configurar el repositorio de mysql para debian 10 buster

El configurador nos permite configurar tres valores del repositorio:

  • La versión de MySQL Server: Podemos elegir entre MySQL 5.7, MySQL 8.0 y MySQL Cluster 7.5, 7.6 u 8.0.
  • Herramientas y conectores de MySQL: Activada por defecto, ofrece herramientas como por ejemplo MySQL Workbench.
  • Paquetes de prueba: Versiones de prueba de paquetes nuevos o más avanzados, desactivado por defecto.

Los valores por defecto son adecuados, a no ser que prefieras otra versión de MySQL Server. Para continuar con la instalación basta con seleccionar «Ok«.

Tal vez por un error en el instalador de MySQL, en el momento de actualizar esta guía el configurador se ejecuta una segunda vez, así que habrá que confirmar o modificar los ajustes una vez más.

Cómo instalar MySQL Server en Debian 10

Para instalar MySQL Server en Debian 10 Buster, una vez terminada la instalación del repositorio, hay que actualizar las listas de paquetes, pero como el repositorio de MySQL está firmado es necesario importar su clave pública:

~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C

Ahora ya podemos actualizar la información de los repositorios:

~$ sudo apt update

Una vez actualizada la información de los repositorios el paquete que necesitamos es mysql-community-server, cuya versión corresponderá a la que seleccionamos en el configurador del repositorio (en este ejemplo, la 8.0).

Por tanto nos disponemos a instalar MySQL Server con apt:

~$ sudo apt -y install mysql-community-server

Una vez descargados los paquetes necesarios y sus dependencias, durante la instalación tendremos que realizar una serie de configuraciones iniciales.

En primer lugar se nos solicita una contraseña para root:

como instalar mysql 8 en debian 10 buster

Tenemos dos opciones:

  • Dejar la contraseña en blanco. Si hacemos esto, el instalador configurará la cuenta de root con el plugin de autenticación por sockets de Unix. Esto significa que bastará acceder al cliente de MySQL como root o usuario con sudo para establecer conexión, sin necesidad de contraseña.
  • Establecer una contraseña. En este caso el plugin de autenticación será el mismo que el resto de usuarios, con lo que para acceder como root habrá que indicar la contraseña.

En el caso de establecer una contraseña, una seguna pantalla solicitará la confirmación, para evitar errores de tecleo.

A continuación se nos avisa de las posibilidades que tenemos para establecer el plugin de autenticación por defecto de MySQL, con la disponibilidad del nuevo plugin caching_sha2_password:

configurar mysql 8 en debian 10 buster

El aviso incide en la mayor seguridad de este nuevo método, pero en la posible falta de compatibilidad con antiguos clientes y conectores de MySQL. Por lo tanto debemos tenerlo en cuenta en la siguiente pantalla, donde tendremos que elegir entre el nuevo y el viejo sistema de autenticación:

Tras elegir el sistema que prefieras, el instalador termina de hacer su trabajo.

Concluida esta tarea, tenemos un nuevo servicio en nuestro sistema Debian 10, llamado mysql.service o mysql a secas. El servicio mysql queda activado e iniciado automáticamente, como podemos comprobar con la opción status del comando systemctl:

~$ systemctl status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
   Active: active (running) since Sun 2024-04-14 13:16:01 CEST; 35s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 2660 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 4701)
   Memory: 371.3M
   CGroup: /system.slice/mysql.service
           └─2660 /usr/sbin/mysqld

mysql server en debian 10 buster

Cómo configurar MySQL Server en Debian 10 Buster

Para configurar MySQL Server en Debian 10 Buster hemos de saber que, por defecto, no incluye bases de datos de pruebas ni usuarios con acceso anónimo.

En Debian 10, la configuración de MySQL se guarda bajo el directorio /etc/mysql/, siendo el archivo principal my.cnf, que básicamente se limita a cargar las configuraciones de los archivos presentes en los subdirectorios conf.d/ y mysql.conf.d/.

Cualquier cambio que realicemos en los archivos de configuración entrará en vigor tras reiniciar el servidor MySQL:

~$ sudo systemctl restart mysql

Acceso remoto a MySQL en Debian 10 Buster

En Debian 10 la configuración por defecto deja activado el acceso remoto a MySQL Server, aunque el usuario root sólo tiene acceso local.

Puede que te interese dejar esta configuración si planeas crear usuarios que puedan conectar remotamente, pero si quisieras desactivar esta característica es muy fácil hacerlo.

Hay que editar el archivo /etc/mysql/mysql.conf.d/mysqld.cnf:

~$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Al final del archivo, dentro de la sección mysqld, añade esta línea:

...
bind-address=127.0.0.1

Tras guardar los cambios y reiniciar el servicio mysql, el acceso remoto habrá sido deshabilitado.

Para activar de nuevo el acceso remoto elimina la directiva bind-address o desactívala insertando un carácter # al inicio de la línea, guarda los cambios y reinicia el servicio.

Cómo crear tu propio usuario administrador

El usuario root de MySQL en Debian 10 por seguridad sólo tiene acceso local. Si quieres crear un usuario con posibilidades de acceso remoto puedes seguir estos pasos.

En primer lugar, accedemos como root a través del cliente consola mysql. Si has dejado la contraseña en blanco (autenticación por sockets de Unix):

~$ sudo mysql

Si estableciste una contraseña para root:

~$ sudo mysql -u root -p

Una vez iniciada sesión en el cliente, crearemos un usuario indicando la contraseña que queramos:

> create user chacho identified by 'XXXXXXXX';

A continuación, otorgamos permisos a este nuevo usuario sobre todas las bases de datos:

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

Actualizamos la tabla de permisos y privilegios:

> flush privileges;

Y salimos del cliente mysql:

> exit

Con este usuario podrás gestionar otros usuarios, bases de datos y acceder tanto local como remotamente.

Conclusión

Ya sabes cómo instalar y configurar MySQL en Debian 10 paso a paso, con lo que puedes tener tener funcionando un potente servicio de bases de datos con el que llevar a cabo tus propios desarrollos o como requisito para complejas y potentes aplicaciones. Podrás trabajar local o remotamente creando nuevos usuarios, bases de datos, etc. pero eso queda fuera del alcance de esta modesta guía.

Si tienes cualquier duda, pregunta o sugerencia puedes dejar un comentario.

¡Apoya este sitio!

Si esta guía te ha orientado sobre cómo instalar y configurar MySQL en tu sistema Debian 10 y quieres agradecérmelo, puedes hacerlo dejando 1 $ de propina desde PayPal:

¡Gracias!

5/5 - (6 votos)

10 comentarios en «Cómo instalar MySQL en Debian 10 Buster»

  1. Hola, buenas noches. Al ejecutar:

    sudo apt -y install mysql-community-server

    me sale el error:

    Los siguientes paquetes tienen dependencias incumplidas: mysql-community-server: Depende: mysql-community-server-core (= 8.0.21-1debian10) pero no va a instalarse.
    E: no se pudieron corregir los problemas, usted ha retenido paquetes rotos.

    ¿Qué puedo hacer en este caso?

    Responder
    • Parece ser que tienes inconsistencias en el sistema de paquetes, ya que acabo de realizar una instalación de MySQL 8.0 en un nuevo sistema Debian 10, siguiendo los pasos de este tutorial, y no ha habido ningún problema. Deberías localizar los paquetes conflictivos retenidos, limpiar repositorios, actualizar la información de los mismos y volver a intentarlo.

      Responder
      • Buenas noches, ya pude. Primero, limpia:
        sudo apt-get autoremove
        sudo apt-get autoclean
        sudo apt-get update
        sudo apt-get -f install

        Y luego ejecutar los siguientes comandos en terminal:
        ~$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
        ~$ sudo apt -y install ./mysql-apt-config*

        Aceptar la configuración por defecto mysql server & cluster (currently selected mysql-8.0)
        Continuar en OK hasta salir a la terminal.
        Continuar con:
        ~$ add-apt-repository main
        ~$ apt-get update
        ~$ apt-get upgrade
        ~$ apt update
        ~$ apt upgrade

        Por último instalar mysql-server con:
        ~$ apt -y install mysql-server

        Y con eso funcionó, muchas gracias.

        Responder
      • Hola. Me pasó lo mismo, pero dentro de los mensajes de error tienes las opciones para solucionarlo. Ejecuta sudo apt –fix-broken install, después ejecuta sudo apt autoremove seguido de sudo apt install -f, después actualizas y listo, sigues con la instalación.

        Responder

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.