Red Hat Training

A Red Hat training course is available for RHEL 8

8.2.5.3. Actualización en el lugar utilizando la herramienta mysql_upgrade

Para migrar los archivos de la base de datos a Red Hat Enterprise Linux 8, los usuarios de MariaDB en Red Hat Enterprise Linux 7 necesitan realizar la actualización in situ utilizando la herramienta mysql_upgrade. La herramienta mysql_upgrade es proporcionada por el subpaquete mariadb-server-utils, que se instala como una dependencia del paquete mariadb-server.

Para realizar una actualización in situ, debe copiar los archivos de datos binarios al directorio de datos /var/lib/mysql/ en el sistema Red Hat Enterprise Linux 8 y utilizar la herramienta mysql_upgrade.

Puede utilizar este método para migrar datos de:

  • La versión de Red Hat Enterprise Linux 7 de MariaDB 5.5
  • Las versiones de Red Hat Software Collections de:

    • MariaDB 5.5 (ya no es compatible)
    • MariaDB 10.0 (ya no es compatible)
    • MariaDB 10.1 (ya no es compatible)
    • MariaDB 10.2

Tenga en cuenta que se recomienda actualizar a MariaDB 10.2 por una versión sucesivamente. Consulte los respectivos capítulos de migración en las Notas de la versión de Red Hat Software Collections.

Nota

Si está actualizando desde la versión de Red Hat Enterprise Linux 7 de MariaDB, los datos de origen se almacenan en el directorio /var/lib/mysql/. En el caso de las versiones de Red Hat Software Collections de MariaDB, el directorio de datos fuente es /var/opt/rh/<collection_name>/lib/mysql/ (con la excepción de mariadb55, que utiliza el directorio de datos /opt/rh/mariadb55/root/var/lib/mysql/ ).

Importante

Antes de realizar la actualización, haga una copia de seguridad de todos sus datos almacenados en las bases de datos de MariaDB.

Para realizar la actualización in situ, cambie al usuario root y utilice el siguiente procedimiento:

  1. Asegúrese de que el paquete mariadb-server está instalado en el sistema Red Hat Enterprise Linux 8:

    # yum install mariadb-server
  2. Asegúrese de que el demonio mariadb no se está ejecutando en ninguno de los sistemas de origen y destino en el momento de copiar los datos:

    # systemctl stop mariadb.service
  3. Copie los datos de la ubicación de origen al directorio /var/lib/mysql/ en el sistema de destino de Red Hat Enterprise Linux 8.
  4. Establezca los permisos adecuados y el contexto SELinux para los archivos copiados en el sistema de destino:

    # restorecon -vr /var/lib/mysql
  5. Inicie el servidor MariaDB en el sistema de destino:

    # systemctl start mariadb.service
  6. Ejecute el comando mysql_upgrade para comprobar y reparar las tablas internas:

    # systemctl mysql_upgrade
  7. Una vez completada la actualización, asegúrese de que todos los archivos de configuración dentro del directorio /etc/my.cnf.d/ incluyan sólo opciones válidas para MariaDB 10.3.
Importante

Existen ciertos riesgos y problemas conocidos relacionados con la actualización in situ. Por ejemplo, es posible que algunas consultas no funcionen o que se ejecuten en un orden diferente al de antes de la actualización. Para más información sobre estos riesgos y problemas, y para información general sobre la actualización in situ, consulte las Notas de la versión de MariaDB 10.3.