Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Restore an RDS MySQL physical backup to a self-managed database

Última actualización: Sep 03, 2026

Utilice Percona XtraBackup para restaurar una copia de seguridad física de ApsaraDB RDS for MySQL en una base de datos MySQL autogestionada.

Contexto

ApsaraDB RDS for MySQL permite restaurar copias de seguridad de instancias en una base de datos autogestionada. Existen diversos métodos de restauración de datos, como la restauración desde una copia de seguridad física o lógica. Para obtener más información sobre cómo seleccionar un método de restauración de datos, consulte MySQL data restoration methods.

Puede consultar el tipo de copia de seguridad de una instancia en la consola de ApsaraDB RDS. En el panel de navegación izquierdo, vaya a Backup and Restoration > Base Backups > Data Backup.

Nota

Si no existen copias de seguridad físicas, primero debe crear una copia de seguridad manual. Para obtener instrucciones, consulte Manual backup.

Escenarios

Puede restaurar una copia de seguridad física desde su instancia de RDS for MySQL hacia una base de datos autogestionada si ya no necesita la instancia durante un período prolongado, o si esta se liberó pero aún conserva su archivo de copia de seguridad física.

Requisitos previos

  • Su instancia de RDS MySQL debe cumplir con los siguientes requisitos:

    • Versión principal: 8.0, 5.7, 5.6 o 5.5

    • Edición: High-availability Edition

    • Tipo de almacenamiento: Premium Local SSDs

    Nota
    • Puede consultar esta información en la página Basic Information de su instancia.

    • Solo puede descargar archivos de copia de seguridad física de instancias que cumplan con los requisitos anteriores. Si su instancia es una instancia Basic Edition, consulte FAQ in this topic.

  • Las tablas de su instancia de RDS no deben estar cifradas con TDE.

    Importante
    • Las tablas cifradas pueden provocar errores de restauración. Realice primero una decryption operation.

    • Puede verificar el estado de TDE en la página Data Security > TDE de la instancia en la consola de RDS.

  • Su usuario de RAM debe tener permiso para descargar archivos de copia de seguridad. Para obtener instrucciones, consulte Authorize a RAM user with read-only permissions to download backup files.

Limitaciones

Impactos

  • Si restaura una copia de seguridad física de RDS MySQL en una base de datos autogestionada que también ejecuta otros servicios, dichos servicios dejarán de estar disponibles.

  • Este método de restauración recupera los datos en el directorio de datos de una nueva base de datos, por lo que los datos originales de su base de datos autogestionada permanecen sin cambios.

Funcionamiento

La restauración de una copia de seguridad física implica los siguientes pasos:

  1. Realizar una copia de seguridad física completa de la base de datos.

  2. Descargar el archivo de copia de seguridad física a un dispositivo local y descomprimirlo con la herramienta qpress.

  3. Usar Percona XtraBackup para restaurar los archivos de copia de seguridad descomprimidos en el directorio de datos de su base de datos autogestionada.

  4. Reiniciar la base de datos. Posteriormente, podrá consultar los datos originales de RDS MySQL en su base de datos autogestionada.

Notas

  • Una URL de descarga de copia de seguridad tiene una validez de una hora. Si la URL caduca, actualice la página para obtener una nueva.

  • No modifique ni elimine el contenido del archivo de copia de seguridad. De lo contrario, el archivo podría dañarse y volverse irrecuperable. Si necesita modificar los datos, restaure primero la copia de seguridad en una base de datos autogestionada.

Facturación

  • Si crea copias de seguridad manuales, supervise el uso del almacenamiento de copias de seguridad. El almacenamiento de copias de seguridad que exceda la cuota gratuita genera backup fees.

  • Si su base de datos autogestionada se encuentra en sus instalaciones, descargará los datos de copia de seguridad a través de Internet. Se le aplicará Internet traffic fees si su tráfico de descarga supera la cuota gratuita.

    Nota

    Si su base de datos autogestionada se encuentra en una instancia ECS dentro de la misma región y VPC que la instancia de RDS, la descarga de datos de copia de seguridad mediante una dirección interna no genera costos de tráfico.

Antes de empezar

Configuración del entorno

  1. Los comandos de este tema corresponden a CentOS 7.9 64-bit. Adáptelos si utiliza una distribución de Linux diferente.

  2. Despliegue una base de datos MySQL autogestionada. Su versión principal del motor debe coincidir con la de su instancia de RDS MySQL. Por ejemplo, ambas pueden ser MySQL 8.0.

    Ejecute el siguiente comando para verificar la versión principal del motor de su base de datos MySQL autogestionada:

    mysql --version
  3. Localice la ruta del archivo de configuración de su base de datos MySQL autogestionada.

    Este tema utiliza las siguientes rutas de ejemplo:

    • La ruta es /etc/my.cnf para MySQL 8.0 y 5.7.

    • La ruta es /usr/my.cnf para MySQL 5.6.

    • Para MySQL 5.5, cree el archivo ejecutando el comando echo "[mysqld]" | sudo tee /etc/my.cnf.

    Ejecute el siguiente comando para localizar la ruta del archivo de configuración de su base de datos MySQL autogestionada.

    sudo find / -name my.cnf
    Nota

    Si el comando devuelve una ruta diferente, utilice esa ruta en los comandos subsiguientes.

  4. Cree un directorio de descompresión de copias de seguridad, como mysql_bkdata, para almacenar los archivos de copia de seguridad descomprimidos.

    Ejecute los siguientes comandos para crear el directorio de descompresión de copias de seguridad:

    sudo mkdir /var/mysql_bkdata
    sudo chown -R $USER:$USER /var/mysql_bkdata
    Nota

    El parámetro $USER:$USER utiliza una variable de entorno para obtener el usuario y el grupo de usuarios actuales. No es necesario modificarlo.

  5. Cree un directorio de datos, como mysql_newdata. Este directorio almacena los archivos de copia de seguridad restaurados que utiliza la base de datos al iniciarse.

    Ejecute los siguientes comandos para crear el directorio de datos:

    sudo mkdir /var/mysql_newdata
    sudo chown -R $USER:$USER /var/mysql_newdata
    Nota

    El parámetro $USER:$USER del comando anterior utiliza una variable de entorno para obtener el usuario y el grupo de usuarios actuales. No es necesario modificarlo.

Herramientas

  1. Instale la herramienta de copia de seguridad y restauración Percona XtraBackup.

    MySQL 8.0

    Para una instancia de MySQL 8.0, descargue la versión correcta de la herramienta XtraBackup para su entorno de host, cárguela en su servidor e instálela. Si necesita cargar el archivo en una instancia de ECS, consulte Upload or download files.

    Importante

    RDS MySQL 8.0 introduce nuevos tipos de redo log, lo que puede causar problemas de compatibilidad con la versión de código abierto de Percona XtraBackup. Por lo tanto, debe descargar la herramienta XtraBackup proporcionada por RDS desde la tabla siguiente.

    Entorno de host

    Descarga

    Comando de instalación

    Nota

    Este ejemplo asume que la herramienta se encuentra en el directorio /Xtrabackup8.0. Ajuste el comando según su ubicación de descarga real.

    Linux 6 (x86_64)

    Descarga de la herramienta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios6.x86_64

    Linux 7 (x86_64)

    Descarga de la herramienta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.x86_64.rpm

    Linux 7 (ARM AArch64)

    Descarga de la herramienta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.aarch64.rpm

    Linux 8 (ARM AArch64)

    Descarga de la herramienta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.al8.aarch64.rpm
    Nota

    Después de la instalación, el archivo ejecutable de Percona XtraBackup se ubica en el directorio /u01/xtrabackup80/bin. De forma predeterminada, esta ruta de directorio no se agrega a la variable de entorno PATH en Linux.

    Para ejecutar comandos de Percona XtraBackup desde cualquier directorio, puede utilizar uno de los siguientes métodos:

    • Especifique la ruta completa al ejecutar un comando de Percona XtraBackup. Este tema utiliza este método en varios comandos. Por ejemplo: /u01/xtrabackup80/bin/xtrabackup --xxxxxx.

    • Agregue manualmente el directorio /u01/xtrabackup80/bin a la variable de entorno PATH.

    MySQL 5.7, 5.6, or 5.5

    Para instancias de MySQL 5.7, 5.6 o 5.5, descargue e instale Percona XtraBackup 2.4.

    Este tema utiliza Percona XtraBackup 2.4.28 como ejemplo. Los comandos de instalación son los siguientes:

    wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
    sudo yum localinstall -y percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
  2. Instale la herramienta de descompresión qpress.

    ## Download the qpress tar package.
    wget "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20230406/flxd/qpress-11-linux-x64.tar"
    
    ## Extract the downloaded tar package.
    tar -xvf qpress-11-linux-x64.tar
    
    ## Grant execute permissions to the qpress file.
    sudo chmod 775 qpress
    
    ## Copy the qpress file to /usr/bin to make it globally accessible.
    sudo cp qpress /usr/bin

Paso 1: Descargar el archivo de copia de seguridad

  1. Vaya a la lista de instancias de RDS, seleccione una región y luego haga clic en el ID de la instancia destino.

  2. En el panel de navegación izquierdo, haga clic en Backup and Restoration.

  3. En la pestaña Base Backups > Data backup, localice la copia de seguridad física deseada y haga clic en Download instance backup en la columna Actions.

  4. En el cuadro de diálogo Download instance backup, copie la URL interna o la URL pública según sea necesario.

    Importante
    • Si utiliza una URL interna, solo puede descargar el archivo de copia de seguridad desde un servidor en la misma región y VPC. No puede descargar el archivo desde un servidor en una región diferente o en la red clásica.

    • Si utiliza una URL pública para descargar el archivo de copia de seguridad, se le cobrará por el tráfico de Internet que exceda la cuota gratuita. Para obtener más información, consulte Billing details.

    • La URL de descarga de la copia de seguridad tiene una validez de una hora. Si caduca, actualice la página para obtener la URL más reciente.

    • No modifique ni elimine el contenido del archivo de copia de seguridad. De lo contrario, el archivo podría dañarse y volverse irrecuperable. Si necesita realizar modificaciones, restaure primero los datos en su base de datos autogestionada.

  5. Inicie sesión en el servidor Linux que aloja su base de datos MySQL autogestionada y ejecute el siguiente comando para descargar la copia de seguridad física.

    wget -c 'https://****.bak.rds.aliyuncs.com/****_xb.qp?****' -O test_xb.qp
    Nota
    • Reemplace https://****.bak.rds.aliyuncs.com/****_xb.qp?**** en el comando anterior con la dirección de descarga de copia de seguridad real. Después de descargar el archivo de copia de seguridad, guárdelo de inmediato para evitar fugas de datos.

    • En este ejemplo, se utiliza test_xb.qp como nombre de archivo. Puede especificar un nombre de archivo personalizado, pero la extensión del archivo debe coincidir con la extensión de la URL de descarga.

      Actualmente, las URL de descarga para copias de seguridad de RDS for MySQL utilizan uno de dos formatos de extensión de archivo: _xb.qp o _qp.xb. Puede revisar el enlace de descarga para ver qué formato utiliza su archivo de copia de seguridad.

    • El formato de copia de seguridad física de RDS for MySQL 5.5 es tar.gz.

Preguntas frecuentes sobre descargas

  • P: ¿Por qué ocurre un error al descargar un archivo de datos?

    R: Cuando utilice el comando wget -c 'https://****.bak.rds.aliyuncs.com/****_xb.qp?****' -O test_xb.qp, encierre la dirección de descarga entre comillas simples (') para ayudar al programa a identificar correctamente la dirección y evitar errores.

Paso 2: Descomprimir el archivo de copia de seguridad

Elija un comando para descomprimir el paquete de copia de seguridad según la extensión de su nombre de archivo.

Importante

Consulte la sección Prerequisites para instalar Percona XtraBackup y qpress, y luego ejecute los siguientes comandos.

Paquete xbstream (extensión _xb.qp)

Cuando ejecute el siguiente comando de descompresión, reemplace test_xb.qp con el nombre de su archivo de copia de seguridad y /var/mysql_bkdata/ con la ruta de descompresión de copia de seguridad que creó.

### MySQL 8.0
qpress -do  test_xb.qp | /u01/xtrabackup80/bin/xbstream -x -v -C /var/mysql_bkdata/

### MySQL 5.5/5.6/5.7
qpress -do  test_xb.qp | xbstream -x -v -C /var/mysql_bkdata/

Paquete xbstream (extensión _qp.xb)

Cuando ejecute el siguiente comando de descompresión, reemplace test_qp.xb con el nombre de su archivo de copia de seguridad y /var/mysql_bkdata/ con la ruta de descompresión que creó.

## Step 1: Unpack the file
cat test_qp.xb | xbstream -x -v -C /var/mysql_bkdata/

## Step 2: Decompress the file
### MySQL 5.5/5.6/5.7
innobackupex --decompress --remove-original /var/mysql_bkdata/

### MySQL 8.0
/u01/xtrabackup80/bin/xtrabackup --decompress --remove-original --target-dir=/var/mysql_bkdata/

Paquete tar (extensión .tar.gz)

Cuando ejecute el siguiente comando de descompresión, reemplace test.tar.gz con el nombre de su archivo de copia de seguridad y /var/mysql_bkdata/ con la ruta de descompresión de copia de seguridad que creó.

tar -izxvf test.tar.gz -C /var/mysql_bkdata/

Paquete xbstream (extensión .xb.gz)

Cuando ejecute el siguiente comando de descompresión, reemplace test.xb.gz con el nombre de su archivo de copia de seguridad y /var/mysql_bkdata/ con la ruta de descompresión que creó.

### MySQL 8.0
gzip -d -c test.xb.gz | /u01/xtrabackup80/bin/xbstream -x -v -C /var/mysql_bkdata/

### MySQL 5.5/5.6/5.7
gzip -d -c test.xb.gz | xbstream -x -v -C /var/mysql_bkdata/

Preguntas frecuentes sobre descompresión

  • P: ¿Qué debo hacer si ocurre un error al descomprimir un archivo de copia de seguridad descargado?

    R: Revise los siguientes puntos para solucionar el error:

    Confirme que el archivo descargado sea un archivo de copia de seguridad física.

    Confirme que el archivo comprimido guardado tenga el sufijo de nombre de archivo correcto (el sufijo debe ser el de la URL, como xb.qp, .tar.gz, .xb.gz o _qp.xb).

    Utilice el comando de descompresión adecuado para el formato de archivo.

    Errores comunes:

    • Al ejecutar el comando de descompresión, se reporta el error sh: qpress: command not found.

      Solución: Consulte Prerequisites para asegurarse de que la herramienta qpress esté instalada en su servidor de base de datos autogestionada.

    • Al descomprimir un paquete xbstream con la extensión _qp.xb, ocurre el error innobackupex not found.

      Solución: Consulte Prerequisites para asegurarse de que Percona XtraBackup esté instalado en su servidor de base de datos autogestionada.

    • Se reporta el error can't change to dir to xx( errorcode:no such file or directory) cuando utiliza el comando cat para desempaquetar un archivo de paquete xbstream con sufijo _qp.xb.

      Solución: Este error indica un nombre de archivo o una ruta incorrectos. Verifique el nombre del archivo y la ruta en su comando.

Paso 3: Restaurar los datos

Importante

Antes de restaurar la base de datos, detenga el servicio de su base de datos autogestionada.

Utilice el comando ps -ef | grep '[m]ysql' para buscar procesos de mysql y el comando sudo kill -9 <PID> para finalizar el proceso correspondiente.

MySQL 8.0

  1. Prepare la restauración.

    /u01/xtrabackup80/bin/xtrabackup --defaults-file=/var/mysql_bkdata/backup-my.cnf  --prepare --target-dir=/var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Establece las opciones predeterminadas de MySQL desde un archivo de configuración.

    Un archivo de copia de seguridad de RDS MySQL contiene un archivo de configuración llamado backup-my.cnf. Este archivo se encuentra en el directorio de descompresión de la copia de seguridad, en /var/mysql_bkdata/.

    --prepare

    Comando de preparación de la herramienta XtraBackup.

    --target-dir

    Directorio de descompresión de la copia de seguridad/var/mysql_bkdata/.

  2. Modifique el directorio de datos (datadir) de su base de datos autogestionada.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /etc/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione la tecla i para entrar al modo de edición y establezca el parámetro datadir en /var/mysql_newdata.

      datadir = /var/mysql_newdata

      mysql_newdata es el nuevo directorio de datos para la base de datos autogestionada, que creó en la sección Prerequisites.

    3. Otorgue permisos sobre el nuevo directorio de datos.

      chown -R mysql:mysql /var/mysql_newdata 
    4. Presione la tecla Esc para salir del modo de edición e introduzca :wq! para guardar y salir.

  3. Restaure los datos.

    sudo xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Obtiene la ruta destino para la restauración de datos desde la configuración del directorio de datos (datadir) en el archivo my.cnf de la base de datos autogestionada.

    --copy-back

    Comando de restauración de la herramienta XtraBackup.

    --target-dir

    La herramienta XtraBackup restaura los datos desde el directorio de descompresión de la copia de seguridad, /var/mysql_bkdata/, hacia el directorio de datos de la base de datos autogestionada.

MySQL 5.7

  1. Prepare la restauración.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Establece las opciones predeterminadas de MySQL desde un archivo de configuración.

    Un archivo de copia de seguridad de RDS MySQL contiene un archivo de configuración llamado backup-my.cnf ubicado en el directorio de descompresión de la copia de seguridad: /var/mysql_bkdata/.

    --apply-log

    Comando de preparación de la herramienta XtraBackup.

    A este comando le sigue el directorio donde se almacenan los archivos de copia de seguridad, es decir, el directorio de descompresión de la copia de seguridad /var/mysql_bkdata/.

  2. Modifique el archivo de configuración de la base de datos autogestionada my.cnf.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /etc/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione la tecla i para entrar al modo de edición y cambie el parámetro datadir a /var/mysql_newdata.

      datadir = /var/mysql_newdata

      mysql_newdata es el nuevo directorio de datos para la base de datos autogestionada, que se creó en la sección Preparations.

    3. Agregue el siguiente contenido a my.cnf.

      innodb_undo_tablespaces=2
      innodb_undo_directory=/var/mysql_newdata
      Importante

      El valor del parámetro innodb_undo_tablespaces debe coincidir con el valor en /var/mysql_bkdata/backup-my.cnf. Ejecute el comando cat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespaces para consultar dicho valor.

    4. Presione la tecla Esc para salir del modo de edición e introduzca :wq! para guardar y salir.

  3. Restaure los datos.

    sudo innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Obtiene la ruta destino para la restauración de datos desde el archivo my.cnf de la base de datos autogestionada, específicamente del directorio de datos (datadir) especificado.

    --copy-back

    Comando de restauración de la herramienta XtraBackup.

    El directorio especificado después de este comando es el directorio de descompresión de la copia de seguridad, como /var/mysql_bkdata/, desde el cual la herramienta XtraBackup restaura los datos al directorio de datos de la base de datos autogestionada.

MySQL 5.6

  1. Prepare la restauración.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Establece las opciones predeterminadas de MySQL desde un archivo de configuración.

    Un archivo de copia de seguridad de RDS MySQL incluye un archivo de configuración llamado backup-my.cnf. Este archivo se encuentra en el directorio de descompresión de la copia de seguridad, /var/mysql_bkdata/.

    --apply-log

    Comando de preparación de la herramienta XtraBackup.

    Después de este comando, especifique el directorio para almacenar los archivos de copia de seguridad: el directorio de descompresión de la copia de seguridad /var/mysql_bkdata/.

  2. Modifique el directorio de datos (datadir) de su base de datos autogestionada.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /usr/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione la tecla i para entrar al modo de edición y agregue el parámetro datadir.

      datadir = /var/mysql_newdata

      mysql_newdata es el nuevo directorio de datos para la base de datos autogestionada, que creó en Preparations.

    3. Presione la tecla Esc para salir del modo de edición y luego introduzca :wq! para guardar y salir.

  3. Restaure los datos.

    sudo innobackupex --defaults-file=/usr/my.cnf --copy-back /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    En el archivo my.cnf de la base de datos autogestionada, obtenga la ruta destino para la restauración de datos desde el parámetro directorio de datos (datadir).

    --copy-back

    Comando de restauración de la herramienta XtraBackup.

    Este comando especifica el directorio que contiene los archivos de copia de seguridad, que es el directorio de descompresión de la copia de seguridad /var/mysql_bkdata/. La herramienta XtraBackup restaura los datos desde este directorio hacia el directorio de datos de la base de datos autogestionada.

MySQL 5.5

  1. Prepare la restauración.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Establece las opciones predeterminadas de MySQL desde un archivo de configuración.

    Un archivo de copia de seguridad de RDS MySQL contiene un archivo de configuración llamado backup-my.cnf. Este archivo se encuentra en el directorio de descompresión de la copia de seguridad, que es /var/mysql_bkdata/.

    --apply-log

    Comando de preparación de la herramienta XtraBackup.

    A este comando le sigue el directorio para almacenar los archivos de copia de seguridad, es decir, el directorio de descompresión de la copia de seguridad/var/mysql_bkdata/.

  2. Modifique el archivo de configuración de la base de datos autogestionada my.cnf.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /etc/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione la tecla i para entrar al modo de edición y agregue el parámetro datadir.

      datadir = /var/mysql_newdata

      mysql_newdata es el nuevo directorio de datos para la base de datos autogestionada, que se creó en la sección Preparations.

    3. Agregue el siguiente contenido a my.cnf.

      innodb_log_file_size=1048576000
      Importante

      El valor del parámetro innodb_log_file_size debe ser igual al valor en /var/mysql_bkdata/backup-my.cnf. Utilice el comando cat /var/mysql_bkdata/backup-my.cnf | grep innodb_log_file_size para consultar dicho valor.

    4. Presione la tecla Esc para salir del modo de edición e introduzca :wq! para guardar y salir.

  3. Restaure los datos.

    sudo innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    Obtenga la ruta destino para la restauración de datos desde la configuración del directorio de datos (datadir) en el archivo my.cnf de su base de datos autogestionada.

    --copy-back

    Comando de restauración de la herramienta XtraBackup.

    Después de este comando, especifique el directorio de descompresión de la copia de seguridad, como /var/mysql_bkdata/, desde el cual la herramienta XtraBackup restaura los datos al directorio de datos de la base de datos autogestionada.

Preguntas frecuentes sobre restauración

  • P: El sistema devuelve el error xtrabackup: Unknown error 3613. ¿Cómo puedo resolverlo?

    R: Actualice Percona XtraBackup a la versión más reciente e inténtelo de nuevo.

  • P: El sistema devuelve el error Original data directory /var/mysql_newdata is not empty!. ¿Qué debo hacer?

    R: Utilice el comando sudo rm -rf /var/mysql_newdata/* para borrar los archivos de la carpeta y luego reintente la operación de restauración.

  • P: El sistema devuelve el error InnodDB: Encryption information in datafile: ./xxx.ibd can't be decrypted, please check if a keyring plugin is loaded and initialized successfully.. ¿Qué debo hacer?

    Compruebe si TDE está habilitado para su instancia:

    • Si TDE está habilitado, busque tablas cifradas. Como se describe en Prerequisites, descifre las tablas cifradas siguiendo las instrucciones en Configure Transparent Data Encryption (TDE) y luego siga las instrucciones de este tema para restaurar los datos.

    • Si TDE no está habilitado, asegúrese de tener instalada la versión correcta de Percona XtraBackup como se describe en Prerequisites.

  • P: Un archivo de copia de seguridad descargado contiene datos cifrados con TDE, lo que provoca un error en la restauración. ¿Cuál es la solución?

    R: No es posible restaurar datos desde un archivo de copia de seguridad cifrado descargado. Las tablas cifradas en una instancia de RDS causan errores de restauración. Como se describe en Prerequisites, descifre las tablas siguiendo las instrucciones en Configure Transparent Data Encryption (TDE), cree una nueva copia de seguridad y luego restaure los datos nuevamente.

  • P: ¿Cómo resuelvo el error innobackupex: File 'undo001' not found (Errcode: 2 - No Such file or directory) que ocurre durante una restauración?

    R: El archivo undo es un archivo del sistema que varía según la versión de la base de datos. Compruebe si su base de datos autogestionada tiene la misma versión que la base de datos ApsaraDB RDS for MySQL.

Paso 4: Iniciar la base de datos

MySQL 8.0 y 5.7

  1. (Opcional) En la consola de RDS for MySQL, view the instance parameters para comprobar el valor de lower_case_table_names. Si el valor es 1, deberá modificar el archivo de configuración my.cnf de la base de datos autogestionada.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /etc/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione i para entrar al modo de edición y agregue el siguiente contenido.

      lower_case_table_names=1
    3. Presione la tecla Esc para salir del modo de edición e introduzca :wq! para guardar y salir.

  2. Otorgue permisos sobre el directorio de datos.

    sudo chown -R mysql:mysql /var/mysql_newdata
  3. Ejecute el siguiente comando para iniciar el proceso de MySQL.

    sudo mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata &

    Parámetros:

    Parámetro

    Descripción

    --defaults-file

    La ruta del archivo de configuración para la base de datos autogestionada. Este tema usa /etc/my.cnf como ejemplo. Consulte Preparations para confirmar la ruta del archivo de configuración de la base de datos.

    --user

    El usuario que inicia la base de datos. El valor es fijo: mysql.

    --datadir

    El directorio de datos que utiliza la base de datos es /var/mysql_newdata en este ejemplo. Consulte Prerequisites para determinar el directorio de datos de su base de datos.

MySQL 5.6

  1. (Opcional) En la consola de ApsaraDB RDS for MySQL, view the instance parameters para comprobar el valor de lower_case_table_names. Si el valor es 1, deberá modificar el archivo de configuración my.cnf de la base de datos autogestionada.

    1. Edite el archivo de configuración de la base de datos.

      sudo vim /usr/my.cnf

      Para encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.

    2. Presione i para entrar al modo de edición y agregue el siguiente contenido.

      lower_case_table_names=1
    3. Presione la tecla Esc para salir del modo de edición e introduzca :wq! para guardar y salir.

  2. Otorgue permisos sobre el directorio de datos.

    sudo chown -R mysql:mysql /var/mysql_newdata
  3. Ejecute el siguiente comando para iniciar el proceso de MySQL.

    sudo mysqld --defaults-file=/usr/my.cnf --user=mysql --datadir=/var/mysql_newdata &

    Parámetro

    Descripción

    --defaults-file

    La ruta del archivo de configuración de la base de datos autogestionada. Este tema usa /usr/my.cnf como ejemplo. Consulte Prerequisites para confirmar la ruta.

    --user

    El usuario que inicia la base de datos. El valor es fijo: mysql.

    --datadir

    El directorio de datos utilizado para iniciar la base de datos. Este tema usa /var/mysql_newdata como ejemplo. Consulte Prerequisites para determinar el directorio de datos de la base de datos.

MySQL 5.5

  1. Otorgue permisos sobre el directorio de datos.

    sudo chown -R mysql:mysql /var/mysql_newdata
  2. Ejecute el siguiente comando para iniciar el proceso de MySQL.

    sudo mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata &

    Parámetro

    Descripción

    --defaults-file

    La ruta del archivo de configuración de la base de datos autogestionada. Este tema usa /etc/my.cnf como ejemplo. Para confirmar la ruta de su base de datos, consulte Preparations.

    --user

    El usuario que inicia la base de datos. El valor es fijo: mysql.

    --datadir

    El directorio de datos se utiliza para iniciar la base de datos. Este tema usa /var/mysql_newdata como ejemplo. Consulte Prerequisites para confirmar el directorio de datos de su base de datos.

Preguntas frecuentes sobre inicio

  • P: ¿Qué causa el error mysqld: [ERROR] Failed to open required defaults file: /etc/my.cnf en un sistema operativo Ubuntu y cómo puedo resolverlo?

    R: Este error es causado por el programa de seguridad AppArmor de Ubuntu. Utilice los comandos apt install -y apparmor-utils y aa-complain /usr/sbin/mysqld para modificar la configuración de AppArmor.

  • P: Una vez completada la restauración, ¿qué debe hacer si una base de datos autogestionada no se inicia o si encuentra el error error 1105 Unknown error durante su uso?

    R: Ejecute las siguientes sentencias SQL para cambiar el motor de almacenamiento de la base de datos:

    USE mysql;
    ALTER TABLE proc engine=myisam;
    ALTER TABLE event engine=myisam;
    ALTER TABLE func engine=myisam;
    Nota

    Si recibe el error ERROR 1067 (42000): Invalid default value for 'modified', ejecute primero la sentencia SET SQL_MODE='ALLOW_INVALID_DATES';.

  • P: ¿Cuál es la contraseña de root después de restaurar la base de datos?

    R: El método para obtener la contraseña de root varía según la versión:

    • Si su instancia ejecuta MySQL 5.7 u 8.0, la contraseña de root es la misma que la de su base de datos autogestionada.

    • Si su instancia ejecuta MySQL 5.5 o 5.6, debe restablecer la contraseña de root antes de poder usar la base de datos. Para más información, consulte la documentación oficial.

  • P: El error InnodDB: Assertion failure in thread 140xxx in file page0zip.ic xxx ocurre durante el inicio. ¿Cómo puedo resolverlo?

    R: Este error puede deberse a espacio insuficiente en disco. Intente expandir el disco de su servidor de base de datos autogestionada y vuelva a intentarlo.

  • P: ¿Cómo resuelvo los siguientes errores que ocurren durante el inicio: [ERROR] Failed to open the relay log xxx, [ERROR] Slave: Failed to initialize the master info xxx o [ERROR] Failed to create or recover replication info repositories.?

    R: Estos errores ocurren porque la instancia de RDS está configurada para alta disponibilidad (HA), pero la base de datos autogestionada local no utiliza nodos primarios y secundarios. Puede ignorar estos errores de forma segura, ya que no afectan el inicio.

  • P: ¿Cómo puedo resolver el error [ERROR] Data Dictionary initialization failed que ocurre durante el inicio?

    R: Este error puede deberse a un sistema operativo incompatible. El sistema operativo subyacente de ApsaraDB RDS es Linux. Se recomienda utilizar un sistema operativo basado en Linux para restaurar la base de datos, ya que usar un sistema operativo diferente puede causar problemas de compatibilidad de versiones.

  • P: El comando sudo systemctl start mysqld no logra iniciar el servicio local de MySQL. ¿Qué debo hacer?

    R: Esto puede deberse a que SELinux está en modo Enforcing en Linux. Ejecute el comando getenforce para comprobar el estado actual de SELinux.

    • Si se trata de un entorno de desarrollo o pruebas, se recomienda cambiar el modo de SELinux a modo Permissive. Luego, intente iniciar MySQL mediante sudo systemctl start mysqld.

    • Para entornos de producción, se recomienda revisar los registros de SELinux para determinar la razón específica del fallo de inicio y luego corregir la política de SELinux con base en esa información.

Paso 5: Conectar y verificar

  1. Ejecute el siguiente comando para iniciar sesión en la base de datos MySQL y verificar que el proceso se inició correctamente.

    mysql -u -p
    Nota
    • Este comando de inicio de sesión se utiliza para verificar que la restauración fue exitosa. Si solo necesita consultar datos de tablas, asegúrese de que la cuenta tenga permisos de consulta.

    • Si olvidó su cuenta o contraseña, pase el parámetro --skip-grant-tables al ejecutar el comando para iniciar el proceso de MySQL. Una vez iniciado, el proceso omite la verificación de permisos y le permite iniciar sesión en la base de datos sin cuenta ni contraseña. Después de iniciar sesión correctamente, podrá restablecer su cuenta y contraseña.

  2. Ejecute el siguiente comando para comprobar si existen las bases de datos de la instancia de ApsaraDB RDS for MySQL.

    SHOW DATABASES;

Preguntas frecuentes sobre conexión y verificación

  • P: Después de la restauración, ¿por qué los valores de tiempo en mis datos no coinciden con la hora local y cómo lo corrijo?

    R: Si la zona horaria de la base de datos autogestionada es diferente a la de la instancia de RDS, debe modificar el parámetro time_zone de la base de datos autogestionada para que coincida con el de la instancia de RDS. Si el parámetro time_zone de la instancia de RDS está establecido en system, compruebe la región donde se encuentra la instancia de RDS y establezca el parámetro time_zone de la base de datos autogestionada en la zona horaria de dicha región.

  • P: Recibo el error Access denied for user 'XXX' al conectarme a una base de datos autogestionada. ¿Cómo puedo resolverlo?

    R: Verifique que esté utilizando la cuenta y contraseña correctas de la instancia original de ApsaraDB RDS for MySQL.

  • P: Olvidé mi contraseña al conectarme a la base de datos autogestionada. ¿Qué debo hacer?

    R: Si olvidó su cuenta o contraseña, inicie el proceso de MySQL con el parámetro --skip-grant-tables. Esta acción omite las verificaciones de permisos al inicio, lo que le permite iniciar sesión en la base de datos sin cuenta ni contraseña. Tenga en cuenta que usar el parámetro --skip-grant-tables representa un riesgo de seguridad. Debe cambiar su cuenta y contraseña inmediatamente después de iniciar sesión.

  • P: Después de conectarme a la base de datos autogestionada, solo puedo ver bases de datos del sistema o algunas de las bases de datos. ¿Cómo manejo esto?

    R: Reinicie la base de datos y luego conéctese utilizando la cuenta root o una cuenta con privilegios elevados de la instancia original de RDS para consultar las bases de datos.

Referencias

Preguntas frecuentes

¿Puedo restaurar una copia de seguridad descargada de RDS for MySQL en otra instancia de RDS for MySQL?

No, esta operación no es compatible directamente. Para restaurar los datos en otra instancia, puede utilizar uno de los siguientes métodos:

¿Cómo puedo restaurar datos de un rango de tiempo específico en una base de datos autogestionada?

Descargue la copia de seguridad de registros del rango de tiempo especificado desde la consola y restáurela en su base de datos autogestionada. Para más información, consulte Download backups y Point-in-time recovery.

¿Cómo hago una copia de seguridad de los datos de una instancia de RDS for MySQL en una base de datos autogestionada?

¿Cómo restauro o migro datos desde una instancia de RDS Basic Edition?

Las instancias de RDS Basic Edition solo admiten copias de seguridad mediante instantáneas. Puede utilizar uno de los siguientes métodos:

¿Puedo restaurar copias de seguridad físicas de varias instancias de RDS for MySQL en una sola base de datos autogestionada?

No, esto no es compatible. Debe restaurar cada copia de seguridad física en una base de datos autogestionada independiente. Después de restaurar los datos, puede utilizar DTS o mysqldump para consolidarlos. Para más información, consulte Use DTS to migrate a self-managed MySQL database to an RDS for MySQL instance o Migrate MySQL data by using mysqldump.

Si creo una cuenta con privilegios en la instancia de origen, ¿conservará sus privilegios después de restaurar una copia de seguridad física en una base de datos autogestionada?

Sí. La copia de seguridad conserva los permisos de la cuenta y la operación de restauración no los modifica.