Actualización de MySQL a 8.0 en Ubuntu 18.04

Guía paso a paso para cambiar la versión de MySQL en tu servidor.

Ubuntu 18.04 incluye MySQL 5.7 por defecto. Si necesitas migrar a MySQL 8.0 — por mejor rendimiento, soporte de JSON u otro motivo — aquí tienes cómo hacerlo de forma limpia.

Comprueba primero tu versión actual:

mysqladmin -u root -p version
Server version: 5.7.30-0ubuntu0.18.04.1

Antes de empezar

Haz una copia de seguridad completa de tus bases de datos. La actualización de MySQL es generalmente segura, pero no hay ninguna razón válida para saltarse este paso.

Actualizar los paquetes del sistema

sudo apt update
sudo apt upgrade

Descargar el configurador del repositorio MySQL APT

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

Verifica que el archivo se haya descargado correctamente:

ls
mysql-apt-config_0.8.15-1_all.deb

Instalar el configurador del repositorio

sudo dpkg -i mysql-apt-config*

Aparecerá un menú interactivo. Asegúrate de que MySQL Server & Cluster (Currently selected: mysql-8.0) esté seleccionado antes de confirmar.

Selección de la versión de MySQL Selección de MySQL 8.0 en el configurador

Confirmación de la selección Confirmación de la versión seleccionada

Instalar MySQL 8.0

Actualiza el índice de paquetes e instala:

sudo apt update
sudo apt upgrade
sudo apt install mysql-server

Durante la instalación se te pedirá que establezcas una contraseña root para MySQL. Elige una contraseña robusta.

Establecimiento de la contraseña root de MySQL Establecimiento de la contraseña root de MySQL

Haz clic en OK. En la siguiente pantalla, selecciona Use Strong Password Encryption (Recommended).

Elección del método de autenticación Selección del método de cifrado de contraseña

Securizar la instalación

Ejecuta el script de seguridad integrado:

mysql_secure_installation

Introduce tu contraseña root de MySQL y responde a las preguntas. Respuestas recomendadas:

Would you like to setup VALIDATE PASSWORD component? → N
Change the password for root? → N
Remove anonymous users? → Y
Disallow root login remotely? → Y
Remove test database and access to it? → Y
Reload privilege tables now? → Y

Verificar la instalación

Comprueba que MySQL está en ejecución:

systemctl status mysql
● mysql.service - MySQL Community Server
Active: active (running)
Status: "Server is operational"

Confirma la versión:

mysqladmin -u root -p version
Server version: 8.0.20

MySQL se ha actualizado correctamente a la versión 8.0.

Si algo ha salido mal

Si la instalación falló a mitad del proceso y quieres empezar desde cero, ejecuta los siguientes comandos para limpiar todo por completo:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql \
       /etc/apparmor.d/cache/usr.sbin.mysqld \
       /etc/mysql \
       /var/lib/mysql \
       /var/log/mysql* \
       /var/log/upstart/mysql.log* \
       /var/run/mysqld
updatedb
exit

Una vez hecho esto, puedes reiniciar el proceso de instalación desde el principio.

Ayuda

¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos