Cómo instalar MySQL en Debian 10 Buster

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. Si prefieres la implementación oficial y nativa de este motor de bases de datos, al final de esta guía tendrás funcionando el servicio con la última versión disponible, creando tus propios usuarios, acceso remoto, etc.

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.

Si vas a trabajar directamente sobre el sistema Debian 10 en el que harás la instalación de MySQL, es interesante disponer de un navegador. Como ves, no es nada que seguramente no tengas ya preparado, así que empezamos ya con el trabajo.

Cómo instalar MySQL Server en Debian 10

A diferencia de otros sistemas de bases de datos, MySQL nativo no está presente en la distribución de Debian 10, ya que su licencia no es GPL. Afortunadamente MySQL ofrece repositorios oficiales desde los que se pueden descargar binarios. Para ello acudiremos a su sitio web oficial y buscaremos la zona de descargas.

como descargar mysql para debian 10 buster

 

Podremos encontrar un enlace al repositorio para apt donde está el paquete que necesitamos:

descargar mysql para debian 10 buster

 

Siguiendo el botón Download llegamos a la página donde verdaderamente se encuentra el enlace de descarga:

 

Aparte de los botones para acceder a tu cuenta de MySQL o crear una nueva, el enlace que buscamos está en el texto «No thanks, just start my download«. En mi caso copiaré el enlace para pegarlo en la terminal como argumento del comando wget, y así descargar el paquete a través de consola:

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

Si estás usando el navegador en el sistema Debian 10 donde vas a instalar MySQL entonces puedes descargarlo de la forma convencional en la carpeta que te interese. En cualquier caso, una vez descargado este paquete lo instalaremos desde consola con apt:

~$ sudo apt -y install ./mysql-apt-config_0.8.13-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:

 

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 error, en el momento de escribir esta guía el configurador se ejecuta una segunda vez, así que habrá que confirmar o modificar los ajustes una vez más.

Cuando termina la instalación del repositorio hay que actualizar las listas de paquetes:

~$ 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: enabled)
   Active: active (running) since Tue 2019-07-23 17:02:29 CEST; 2min 39s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 6181 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 6216 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 1150)
   Memory: 373.8M
   CGroup: /system.slice/mysql.service
           └─6216 /usr/sbin/mysqld
~$

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';
Query OK, 0 rows affected (0,04 sec)

>

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

> grant all privileges on *.* to chacho with grant option;
Query OK, 0 rows affected (0,01 sec)

>

Actualizamos la tabla de permisos y privilegios:

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

>

Y salimos del cliente mysql:

> exit
Bye
~$

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, ¡puedes agradecérmelo invitándome a un café!

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

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