Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Relational Database Service/ Guía del usuario/ Trabajar con RDS for MySQL/ Restauraciones de datos/ Restauración de una copia de respaldo a una base de datos local
Actualización más reciente 2024-06-06 GMT+08:00

Restauración de una copia de respaldo a una base de datos local

Esta sección describe cómo restaurar una copia de respaldo completa de RDS for MySQL descargada en una base de datos MySQL local.

Si desea migrar todos los datos de su instancia de base de datos de RDS for MySQL a una base de datos de MySQL local, puede descargar una copia de respaldo completa en formato .qp y restaurarla a la base de datos local siguiendo los pasos descritos en esta sección.

Procedimiento operativo

  1. Descargue la copia de respaldo completa de destino de su instancia de base de datos de RDS for MySQL.
  2. Suba la copia de respaldo completa a la base de datos de MySQL local.
  3. Utilice la herramienta qpress para descomprimir la copia de respaldo completa.
  4. Utilice la herramienta XtraBackup para restaurar la copia de respaldo completa en el directorio data de la base de datos local y guardar los datos originales de la base de datos en el archivo data_back.
  5. Reinicie la base de datos local.

Restricciones

  • Esta sección solo cubre la restauración de una copia de respaldo completa de una instancia de base de datos de RDS for MySQL 5.6, 5.7 u 8.0 a una base de datos local de la versión correspondiente. La restauración incremental de la copia de respaldo no está incluida.
  • La versión secundaria de la base de datos de MySQL local debe ser la misma que la de su instancia de base de datos de RDS for MySQL.

    Para ver la versión del kernel de MySQL, ejecute mysql -V o mysqld --version.

  • La copia de respaldo solo se puede restaurar en una base de datos local que ejecute Linux.
  • Dado que la herramienta de copia de respaldo de código abierto solo admite el paquete x86, no puede restaurar una copia de respaldo en una base de datos basada en un ECS basado en Arm siguiendo las operaciones descritas en esta sección. Para restaurar datos en una base de datos basada en un ECS basado en Arm, puede usar Data Replication Service (DRS) o exportar e importar datos. Para obtener más información, consulte Descripción de solución de migración.
  • Se requiere el siguiente software para restaurar una copia de respaldo completa en una base de datos local:
    • Base de datos de MySQL
    • qpress
    • Percona XtraBackup
    • Utilice las herramientas de la versión correspondiente. De lo contrario, la restauración fallará.
      Tabla 1 Mapeo de versiones

      Base de datos

      qpress

      Percona XtraBackup

      MySQL 8.0

      qpress 7

      XtraBackup 8.0.0 o posterior

      MySQL 5.7 y MySQL 5.6

      qpress 7

      XtraBackup 2.4.9 o posterior

  • Durante la restauración, no ejecute otras cargas de trabajo en la base de datos local.

Paso 1: Descargar una copia de respaldo completa de su instancia de base de datos de RDS for MySQL

Las instancias de RDS for MySQL DB realizan automáticamente copias de respaldo completas en el momento especificado. También puede crear copias de respaldo manuales para su instancia de base de datos. Los archivos .qp generados se pueden descargar y restaurar en una base de datos local.

  1. Haga clic en el nombre de la instancia de base de datos en la consola de RDS, elija Backups & Restorations > Full Backups, busque la copia de respaldo completa de destino y haga clic en Download en la columna Operation para descargar la copia de respaldo.
    Figura 1 Descargar una copia de respaldo completa
  2. Utilice una herramienta de transferencia de archivos (como WinSCP) para cargar el archivo de copia de respaldo completo en el dispositivo Linux donde se encuentra la base de datos de MySQL local.

Paso 2: Instalación de qpress y XtraBackup en la base de datos de MySQL local

Método 1: Instalación manual

  1. Descargar qpress y XtraBackup de una versión correcta. También puede descargarlos según Tabla 2. Una vez completada la descarga, cargue el paquete de instalación en el dispositivo Linux donde se encuentra la base de datos de MySQL local.
    Tabla 2 Descargar ejemplo

    Herramienta

    Ejemplo

    MySQL 5.6

    mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz

    MySQL 5.7

    mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

    MySQL 8.0

    mysql-8.0.26-linux-glibc2.12-x86_64.tar

    qpress

    qpress-11-1.el7.x86_64.rpm

    Percona XtraBackup

    XtraBackup 2.4.9 (MySQL 5.6 y 5.7)

    XtraBackup 8.0 (MySQL 8.0)

  2. Instale el paquete de rpm de qpress. Enterprise Linux 7 (incluidos CentOS 7, RHEL 7, Linux Rocky 7 y AlmaLinux 7) se usa como ejemplo.

    rpm -ivh qpress-11-1.el7.x86_64.rpm

  3. Descomprima el paquete XtraBackup y cambie el nombre a XtraBackup.

    tar -zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz

    mv percona-xtrabackup-2.4.9-Linux-x86_64 xtrabackup

  4. Agregue xtrabackup a las variables de entorno.
    echo  "export  PATH=$PATH:/usr/local/xtrabackup/bin"  >> /etc/profile
    mv xtrabackup/ /usr/local/
    source  /etc/profile

Método 2: Instalación usando Wget

  1. Instale el paquete de rpm de qpress.

    wget https://repo.percona.com/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm

    rpm -ivh qpress-11-1.el7.x86_64.rpm

  2. Instale Percona XtraBackup.

Paso 3: Restauración de la copia de respaldo en la base de datos de MySQL local

  1. Cree un backupdir de directorio temporal.

    mkdir backupdir

  2. Descomprima la copia de respaldo completa.
    • MySQL 5.6 y 5.7:

      xbstream -x -p 4 < ./full_backup.qp -C ./backupdir/

      innobackupex --parallel 4 --decompress ./backupdir

    • MySQL 8.0:

      xbstream -x -p 4 < ./full_backup.qp -C ./backupdir/

      xtrabackup --parallel 4 --decompress --target-dir=./backupdir

  3. Elimine el archivo .qp.

    find ./backupdir/ -name '*.qp' | xargs rm -f

  4. Prepare el archivo de copia de respaldo.
    • MySQL 5.6 y 5.7:

      innobackupex --apply-log ./backupdir

    • MySQL 8.0:

      xtrabackup --prepare --target-dir=./backupdir

  5. Haga copias de respaldo de los datos.
    1. Detenga el servicio de base de datos de MySQL.

      service mysql stop

      Para MySQL 5.7, ejecute el siguiente comando:

      /bin/systemctl stop mysqld.service

    2. Haga una copia de respaldo del directorio original de la base de datos.

      mv /usr/local/mysql/data /usr/local/mysql/data_bak

      mkdir /usr/local/mysql/data

    3. Cree un nuevo directorio de base de datos y cambie los permisos.

      chown mysql:mysql /usr/local/mysql/data

  6. Restaure los datos en la base de datos local y cambie los permisos de directorio.

    Antes de realizar este paso, borre el directorio data de la base de datos local. Para obtener más información, véase 5.b.

    • MySQL 5.6 y 5.7:

      innobackupex --defaults-file=/etc/my.cnf --copy-back ./backupdir

      chown -R mysql:mysql /usr/local/mysql/data

    • MySQL 8.0:

      xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./backupdir

      chown -R mysql:mysql /usr/local/mysql/data

    • La ruta de acceso relativa (./backupdir) de los comandos se puede reemplazar por una ruta de acceso absoluta.
    • --defaults-file es seguido por la ubicación (por ejemplo, de /etc/my.cnf) del archivo de configuración de MySQL. Puede especificar la ubicación en función de los requisitos del sitio.
  7. Inicie la base de datos de MySQL.

    service mysql start

    Para MySQL 5.7, ejecute el siguiente comando:

    /bin/systemctl start mysqld.service

  8. Inicie sesión en la base de datos y vea el resultado de la restauración.

    show databases