Degradación de MySql: de la versión 8.0.30 a la 5.7.39

Escenario

Seguro que no somos los primeros a quien les pasa que una actualización obligatoria de Ubuntu 18.04 al 20.04 acarrea una actualización no deseada de MySql a la versión 8.x.

Problema

En la versión 8.0.30 MySql no cuenta con la utilidad mysql_upgrade para dejar las tablas preparadas para una actualización de versión. En esta versión, cuando arranca, el servidor hace la comprobación automáticamente y, en nuestro caso, entró en un bucle al intentar migrar las tablas: Probamos, sin éxito, a lanzar mysqld con la opción --upgrade=NONE y luego con la opción --no-dd-upgrade. Tampoco valía con mover de sitio los ficheros .frm: MySql tampoco arrancaba, esta vez porque no coincidía la información de sus tablas del sistema con los ficheros existentes. Llegados a este punto no nos quedó más remedio que seguir el consejo de un usuario de internet que sugería desinstalar la versión 8 e instalar de nuevo la 5.7 de MySql.

Solución

Exceptuando unos cambios mínimos seguí las instrucciones expuestas en este articulo. La ventaja de esta solución es que no requiere desinstalar la versión asignada a Ubuntu 20.04. El primer paso es añadir e instalar el repositorio apt de MySql 5.7 no disponible en Ubuntu 20.04: No haremos caso al aviso de que la versión de Ubuntu instalada no se corresponde con la disponible en el repositorio y elegiremos Ubuntu Bionic, luego la opción MySQL Server & Cluster y después mysql-5.7 para acabar seleccionado ok. Después de lanzar sudo apt update me encontré con el siguiente error: Solucionado con: A continuación instalé la versión 5.7 del servidor SQL: Una vez instalado seguía sin arrancar debido a una directriz incompatible en /etc/mysql/mysql.conf.d/mysqld.cnf. Después de arreglarlo el servidor por fin arrancó. Un sudo mysql_upgrade -uroot -p avisaba de que las tablas conflictivas estaban corruptas pero, bueno, ése ya es otro problema.

Publicaciones Similares

  • OsTicket y nginx

    Escenario Después de 5 años campando en un Ubuntu 16.04 ha llegado la hora de migrar la aplicación osTicket a un nuevo servidor. Para quien no la conozca osTicket es un sistema de incidencias que podemos desplegar en un servidor propio. La aplicación web cuenta con una herramienta que automáticamente detecta una diferencia de versiones…

  • Elemento personalizado en menú lateral de SonataAdmin

    Escenario Necesito añadir un enlace a una página personalizada en el menú lateral de Sonata Admin. En concreto uno que, en vez de dirigir a un listado de entidades, abra una página específica. La entidad en cuestión es Acme\Entity\CashOffice. Antes que nada tenemos que crear un CashOfficeAdmin en el cual usaremos el método configureRoutes para…

  • |

    Cómo ampliar el espacio en disco en 1and1

    Escenario Hemos contratado un servidor dedicado en 1and1 (ubuntu 14.04) y al acceder por ssh constatamos que no disponemos de todo el espacio en disco disponible: $ df -hFilesystem Size Used Avail Use% Mounted onudev 3.9G 4.0K 3.9G 1% /devtmpfs 798M 592K 797M 1% /run/dev/md1 4.0G 990M 3.0G 25% /none 4.0K 0 4.0K 0% /sys/fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 3.9G 0 3.9G 0% /run/shmnone 100M 0 100M 0% /run/user/dev/mapper/vg00-usr 4.8G 1.3G 3.3G 28% /usr/dev/mapper/vg00-var 4.8G 812M 3.8G 18% /var/dev/mapper/vg00-home 4.8G 10M 4.6G 1% /home Objetivo Aumentar el espacio disponible para dar cabida a nuestros recursos. Solución Nota: sólo aplicable a sistemas linux Primer paso Comprobamos el espacio en disco real: ~$ sudo fdisk -lDisk /dev/sda: 240.1 GB, 240057409536 bytes255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisk identifier: 0x24e3fc12   Device Boot      Start         End      Blocks   Id  System/dev/sda1            2048     8390655     4194304   fd  Linux raid autodetect/dev/sda2         8390656    12584959     2097152   82  Linux swap / Solaris/dev/sda3        12584960   468862127   228138584   fd  Linux raid autodetect Segundo…

  • Extracción del texto de un pdf creado a partir de una imagen

    Escenario Una manera de preparar los exámenes es practicando con aquellos de años anteriores. Para los que estudiamos en la UNED, el centro de Calatayud cuenta con un extenso repositorio de PDFs de exámenes de previas convocatorias. Problema Los PDFs suelen ser de aquellos generados a partir de imágenes y no de texto lo que…

  • Directorio con permisos de escritura para los miembros de un mismo grupo

    Escenario Estoy desplegando una aplicación web en un directorio en el que pretendo puedan escribir todos los usuarios perteneciente a un grupo dado. Problema No basta con crear un grupo, añadir los usuarios al tal grupo y adjudicar el directorio al grupo en cuestión. Solución Empecemos desde el principio. Los usuarios Antonio y Carla han…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *