Cómo instalar MySQL 8 en Ubuntu 18.04

Cómo instalar MySQL 8 en Ubuntu 18.04

En esta entrada vamos a ver cómo instalar MySQL 8 en Ubuntu 18.04 paso a paso. Los repositorios de Ubuntu incluyen la versión 5.7 de MySQL, pero si deseas instalar una versión más moderna, como MySQL 8, entonces tenemos que hacer algunas cosas más de lo habitual. En esta guía de instalación de MySQL te explico todo el proceso.

Antes de instalar MySQL 8 en Ubuntu

Como requisitos previos necesitamos una instalación de Ubuntu actualizada, un usuario con privilegios de sudo y conexión a Internet.

Debemos tener instalado el paquete gnupg. Si no estuviera presente puedes instalarlo mediante apt:

~$ sudo apt -y install gnupg

[...]

~$

Cómo instalar los repositorios de MySQL en Ubuntu

Como los repositorios de Ubuntu sólo incluyen MySQL 5.7, añadiremos repositorios oficiales de MySQL que incluyen las versiones estables más recientes, como MySQL Server 8.

La forma de añadir estos repositorios oficiales es descargar e instalar un paquete que encontraremos en la página de descargas de MySQL:

como descargar mysql 8 en ubuntu
Página de descargas de MySQL

Podemos ver un menú en el que se encuentra la opción APT Repository que nos conducirá a la página donde se encuentra la información sobre el paquete que buscamos:

descargar mysql 8 en ubuntu
Paquete con el repositorio oficial de MySQL

Siguiendo el botón Download llegamos finalmente a la página que nos permitirá descargar el paquete:

descargar repositorio mysql 8 para ubuntu
Enlace de descarga del repositorio de MySQL 8

Bajo la zona de acceso o registro en mysql.com aparece un enlace con el texto «No thanks, just start my download«. Ese es el enlace que debemos abrir o copiar.

En mi caso, copio el enlace (https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb) y descargo el paquete desde consola con el comando wget:

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

[...]

~$

En unos instantes se habrá descargado y lo instalaremos en nuestro sistema con el comando dpkg:

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

La instalación del paquete abrirá un pequeño configurador de los repositorios de MySQL:

como instalar mysql 8 en ubuntu

La primera opción nos indica la versión de MySQL Server que estará disponible en el repositorio, en este caso la 8.0.

A título informativo, si entramos en el submenú podríamos elegir otras versiones anteriores como MySQL Server 5.7 o MySQL Cluster 7.5 y 7.6:

como instalar mysql server 8 en ubuntu
Versiones de MySQL Server disponibles en el repositorio oficial de MySQL

El propósito de esta guía de instalación es instalar y configurar MySQL 8, la opción por defecto, ya que MySQL 5.7 se encuentra en los repositorios de Ubuntu.

Las otras dos opciones del menú principal de este instalador permiten habilitar o deshabilitar en el repositorio de MySQL herramientas, conectores y versiones de prueba y testeo de los productos de MySQL. Los valores por defecto de estas opciones son los más adecuados para la mayoría de circunstancias.

Al salir de este pequeño configurador los repositorios oficiales de MySQL quedan añadidos y configurados. Lo primero que tendremos que hacer será una actualización de los repositorios de apt mediante el comando apt update:

~$ sudo apt update
Des:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]
Obj:2 http://es.archive.ubuntu.com/ubuntu bionic InRelease
Des:3 http://repo.mysql.com/apt/ubuntu bionic InRelease [16,9 kB]
Obj:4 http://es.archive.ubuntu.com/ubuntu bionic-updates InRelease
Obj:5 http://es.archive.ubuntu.com/ubuntu bionic-backports InRelease
Des:6 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 Sources [933 B]
Des:7 http://repo.mysql.com/apt/ubuntu bionic/mysql-apt-config amd64 Packages [565 B]
Des:8 http://repo.mysql.com/apt/ubuntu bionic/mysql-apt-config i386 Packages [565 B]
Des:9 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 i386 Packages [7.094 B]
Des:10 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 amd64 Packages [7.068 B]
Des:11 http://repo.mysql.com/apt/ubuntu bionic/mysql-tools amd64 Packages [3.694 B]
Des:12 http://repo.mysql.com/apt/ubuntu bionic/mysql-tools i386 Packages [3.096 B]
Descargados 129 kB en 8s (16,9 kB/s)
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Todos los paquetes están actualizados.
~$

Podemos observar que junto a las direcciones de repositorios de ubuntu.com aparecen como novedad varias líneas del repositorio mysql.com. ¡Estamos listos para instalar MySQL Server 8!

Cómo instalar MySQL Server 8 en Ubuntu

Una vez realizadas todas las tareas previas procedemos con la verdadera instalación de MySQL 8 mediante apt:

~$ sudo apt -y install mysql-server

[...]

~$

Durante unos instantes se descargarán todos los paquetes relacionados con la versión de MySQL Server que configuramos en el repositorio, junto con todas las dependencias necesarias.

Inmediatamente se ejecutará otro configurador en modo consola que nos solicitará una contraseña para el usuario root de MySQL:

como configurar mysql 8 en ubuntu

En la siguiente pantalla tendremos que confirmarla, para evitar errores al teclear.

A continuación se nos informa de las novedades en el nuevo sistema de autenticación de MySQL 8:

como configurar mysql server 8 en ubuntu

El nuevo sistema es más seguro, pero incompatible con conectores, aplicaciones y clientes que usan el sistema de MySQL 5.x.

Es importante saber cuál de los sistemas necesitamos, porque puede que algunas cosas no funcionen como esperamos si elegimos el método menos idóneo.

La siguiente pantalla nos permite seleccionar el método de autenticación:

configurar mysql 8 en ubuntu

Ante la duda recomendaría el sistema antiguo que sirve, por ejemplo, para acceder remotamente a través de clientes como MySQL Workbench. Siempre es posible cambiar más adelante el método de autenticación.

Finalmente termina la instalación y configuración de MySQL 8. El servicio, que se llama mysql y queda funcionando y listo para trabajar.

Podemos comprobar en cualquier momento el estado del servicio a través del comando systemctl:

~$ systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
   Active: active (running) since Sat 2019-03-16 17:38:38 CET; 4min 11s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3247 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=
 Main PID: 3286 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 37 (limit: 526)
   CGroup: /system.slice/mysql.service
           └─3286 /usr/sbin/mysqld

mar 16 17:38:27 ubuntu64 systemd[1]: Starting MySQL Community Server...
mar 16 17:38:38 ubuntu64 systemd[1]: Started MySQL Community Server.
lines 1-14/14 (END)

Para conectar como root al servicio podemos hacerlo a través del cliente de consola mysql, utilizando la contraseña que acabamos de crear:

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

Copyright (c) 2000, 2019, 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>

Y ya podemos empezar a trabajar con MySQL 8. El mensaje de bienvenida nos informa de la versión del servidor que, en este caso, es la 8.0.15.

Acceso remoto a MySQL 8 en Ubuntu

La configuración por defecto de MySQL 8 permite realizar conexiones remotas.

Si quisiéramos impedirlo, permitiendo solamente conexiones locales, debemos editar el archivo /etc/mysql/mysql.conf.d/myslqd.cnf:

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

En este archivo, dentro de la sección [mysqld] debemos añadir una línea con la directiva bind-address:

[...]

[mysqld]

[...]

bind-address   = 127.0.0.1

Con esta línea especificamos que MySQL Server sólo permita conexiones desde la dirección IP 127.0.0.1, es decir, la máquina local.

Pero esta configuración no surtirá efecto hasta que reiniciemos el servidor, mediante systemctl:

~$ sudo systemctl restart mysql
~$

Desde este momento MySQL no permite acceso remoto.

Conclusión

Hemos visto cómo instalar MySQL 8 en Ubuntu desde los repositorios de MySQL. Es la mejor forma de utilizar las últimas versiones de MySQL que no están incluidas en los repositorios de Ubuntu.

Puedes mantener la autenticación tradicional o cambiar al nuevo método caching_sha2_password, pero en este caso tendrás que actualizar clientes y conectores.

Si tienes alguna duda, sugrencia, pregunta o quieres informar de errores, ideas para nuevos tutoriales, etc. déjame un comentario.

Apoya este sitio

¿Te ha resultado tan útil e interesante esta guía que querrías contribuir con el desarrollo de este sitio? Cualquier mínima contribución es bienvenida, así que… ¡gracias!

Valora esta entrada

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

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.

ACEPTAR
Aviso de cookies