Cómo instalar MySQL en Debian 8 Jessie

Cómo instalar MySQL en Debian 8 Jessie

En esta entrada veremos cómo instalar MySQL en Debian 8 Jessie paso paso, la implementación nativa de uno de los servicios de bases de datos más usados, con el que podrás trabajar sobre tu viejo servidor o VPS Debian.

Antes de instalar MySQL en Debian 8 Jessie

En orden de poder completar esta guía de instalación de MySQL en Debian 8, sólo necesitarás partir de las siguientes condiciones:

  • Una instalación actualizada de Debian 8 Jessie.
  • Acceso a línea de comandos con un usuario con capacidades de sudo o el mismo root.
  • Conexión a Internet.

Cómo instalar MySQL en Debian 8 Jessie

Vamos a instalar MySQL Server en Debian 8 Jessie desde los repositorios oficiales, ya que la versión incluida en la distribución es la 5.5, mientras que los repositorios oficiales nos ofrecen hasta la 5.7. Lamentablemente MySQL 8 no está disponible para Debian 8.

Para instalar el repositorio de MySQL para Debian 8 accederemos a la sección de descargas del sitio oficial:

como descargar mysql para debian 8 jessie

Al final de la página suele haber un enlace «MySQL Community (GPL) Downloads» que nos conducirá a las descargas GPL:

descargar mysql para debian 8 jessie

Entre todas las posibilidades figura un enlace «MySQL APT Repository» que es el que necesitamos para Debian 8 Jessie:

descarga de mysql server para debian 8 jessie

Se nos muestra el paquete que debemos descargar para instalar el repositorio, así que siguiendo en enlace «Download» aparecerá un formulario para acceder o registrarnos en MySQL.com:

como instalar el repositorio de mysql para debian 8 jessie

No es necesario realizar nada de eso, ya que se nos ofrece el enlace a la descarga directa en «No thanks, just start my download«. Puedes realizar la descarga del paquete desde el navegador para instalarlo después o puedes, como haremos en este tutorial, descargar desde consola con el comando wget:

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

Instalaremos este paquete con el comando dpkg:

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

Cargará un pequeño configurador que nos mostrará opciones sobre el repositorio de MySQL Server, el repositorio de herramientas y conectores, y el repositorio de versiones de prueba.

instalar el repositorio de mysql en debian 8 jessie

Aunque por defecto aparece seleccionada como versión de MySQL Server la 8.0, no está disponible. Tendremos que entrar en el submenú y elegir entre la 5.6 ó la 5.7.

repositorio de mysql para debian 8 jessie

De regreso al menú principal, el resto de valores son los adecuados, ya que querremos tener activado el repositorio de herramientas, mientras que el de versiones de prueba no suele ser interesante. Para continuar seleccionaremos la opción «Ok«.

De esta forma quedará listo el repositorio de MySQL para Debian 8 Jessie, siendo lo adecuado actualizar las listas de paquetes:

~$ sudo apt update

 

Cómo instalar MySQL en Debian 8

Para instalar MySQL en Debian 8 una vez instalado y actualizado el repositorio oficial, bastará con instalar el paquete mysql-community-server, que corresponderá con la versión que hayamos seleccionado en el configurador del repositorio:

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

Una vez descargado el paquete y las dependencias de MySQL Server, durante la instalación se nos solicitará la contraseña del usuario root:

como instalar mysql server en debian 8 jessie

Obviamente habrá que confirmar la contraseña que hayamos introducido en una pantalla similar.

El instalador deja el servicio MySQL funcionando y habilitado para su inicio automático con cada arranque de Debian 8.

El servicio se llama mysql.service o simplemente mysql, y podemos comprobar en cualquier momento su funcionamiento con el comando systemctl status mysql:

instalar mysql en debian 8 jessie

Para acceder al servicio podemos utilizar el cliente de consola mysql, incluido como dependencia, utilizando el usuario root:

~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Para cerrar la sesión usamos el comando exit:

> exit

Cómo configurar MySQL en Debian 8

Para configurar MySQL en Debian 8 trabajaremos sobre los archivos ubicados bajo la ruta /etc/mysql/, siendo el archivo principal mysqld.cnf ubicado en el subdirectorio mysql.conf.d/.

Veamos algún ejemplo de configuración.

UTF8

Por defecto, MySQL para Debian 8 viene configurado con el juego de caracteres latin1 para el servicio y las bases de datos, cuando lo interesante sería utf8 o utf8mb4. Cambiamos estos valores editando mysqld.cnf:

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

Dentro de la sección mysqld añadiremos esta línea:

...
character-set-server = utf8mb4
...

Elige si prefieres utf8 o utf8mb4.

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mysql

Acceso sin contraseña

Hemos visto que para acceder al servicio con el cliente mysql es necesario especificar la contraseña, pero quizás te podría interesar trabajar localmente sin contraseña. Esto se consigue asignando al usuario el plugin auth_socket en lugar del tradicional, mysql_native_password, que se usa por defecto. Pero el plugin auth_socket no carga por defecto, así que editaremos la configuración para incluirlo:

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

Añadimos la directiva plugin-load-add:

...
plugin-load-add = auth_socket.so
...

Guardamos los cambios y reiniciamos el servicio.

Para asegurarnos de que el plugin auth_socket funciona, conectamos con root (con contraseña) y creamos un nuevo usuario con el mismo nombre que nuestro usuario de trabajo de Debian 8, asignándole específicamente este plugin:

> create user chacho identified with auth_socket;

Salimos a línea de comandos y volvemos a lanzar de nuevo el cliente mysql, sin ningún parámetro:

~$ mysql
...
mysql>

Accedemos sin necesidad de contraseña, con el usuario de MySQL que se llama igual que nuestra cuenta, ya que usa el plugin auth_socket.

Podríamos cambiar el plugin del mismo usuario root, iniciando sesión con contraseña y modificando su plugin de conexión:

> alter user root@localhost identified with auth_socket;

Y refrescamos la tabla de permisos:

> flush privileges;

A partir de este momento podemos acceder como root a MySQL siendo el usuario root de Debian 8:

~# mysql
...

mysql>

O con cualquier otro usuario de Debian 8 que pueda usar sudo:

~$ sudo mysql
...

mysql>

Por último, puedes revertir el cambio, y reasignar el plugin mysql_native_password a un usuario que tenga el plugin auth_socket, indicando la correspondiente contraseña:

> alter user root@localhost identified with mysql_native_password by 'XXXXXXXX';

No olvides refrescar la tabla de permisos cuando hagas este tipo de cambios:

> flush privileges;

Acceso remoto

Podría interesarte acceder remotamente al servicio MySQL de Debian 8 desde otras máquinas en red, para lo que es necesario cambiar la configuración por defecto que sólo permite conexiones locales. Editamos el archivo de configuración del servicio:

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

Buscamos la diretiva bind_address:

...
bind-address    = 127.0.0.1
...

Su valor actual sólo permite conexiones locales, pero bastará con desactivarla insertando un carácter # al inicio de línea:

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

Guardados los cambios, habrá que reiniciar el servicio:

~$ sudo systemctl restart mysql

Hay que tener en cuenta que no todos los usuarios pueden conectar remotamente, dependerá de si se crean con restricción de conectividad, lo que se indica añadiendo al nombre de usuario la @ y la red desde la que se puede acceder. Por ejemplo, el usuario root@localhost sólo puede conectar remotamente, pero podemos crear un nuevo usuario que acceda desde cualquier ubicación:

> create user chacho identified by 'XXXXXXXX';

Fíjate que no hemos empleado @ y red en el nombre de usuario.

Configurar el firewall UFW de Debian 8 para MySQL

Si tienes activado el firewall UFW en Debian 8 Jessie, será necesario permitir explícitamente las conexiones a MySQL Server. Para ello basta con añadir la siguiente regla:

~$ sudo ufw allow mysql

Y MySQL ya podrá recibir conexiones desde red.

Cómo probar las conexiones remotas a MySQL

Desde otra máquina en red con algún cliente de MySQL, como el mismo cliente de consola mysql, podremos conectar al servidor MySQL en Debian 8, indicando su dirección IP o dominio con el parámetro -h, además del usuario con el que queremos conectar.

~$ mysql -h debian8.local -u chacho -p

mysql en debian 8 jessie

Conclusión

Ahora que sabes cómo instalar MySQL Server en Debian 8 Jessie ya puedes trabajar con este servicio de bases de datos, si eres de los que prefieren la implementación nativa. Queda todo listo para empezar con tus propios desarrollos de bases de datos o para implantar aplicaciones que requieren como soporte este motor de bases de datos.

Si tienes dudas, preguntas, te ha surgido algún problema con el tutorial o quieres formular alguna sugerencia, solicitar una actualización, notificar algún error, etc., puedes dejar un comentario.

Ah, y en caso de que te haya servido este tutorial de instalación y configuración de MySQL en Debian 8 Jessie y quieras expresar tu gratitud, ¡quizás te apetezca invitarme a un café!

O puedes dejarme una propina a través de PayPal:

¡Gracias!

 

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

Deja una respuesta