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.
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
NotaPuede 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.
ImportanteLas 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
La restauración de archivos de copia de seguridad física solo es compatible con instancias que utilizan discos locales. Para restaurar una copia de seguridad de instantánea de una instancia que utiliza disco en la nube, consulte Restore the data of an ApsaraDB RDS for MySQL instance to a self-managed MySQL instance by using snapshot backup files.
Este proceso restaura todos los datos del archivo de copia de seguridad. Para restaurar solo bases de datos o tablas específicas, consulte Restore an RDS MySQL logical backup to a self-managed database.
Actualmente, los archivos de copia de seguridad física de RDS for MySQL solo se pueden restaurar en una base de datos autogestionada en Linux.
Actualmente no se admite la restauración de datos para clústeres de MySQL Group Replication (MGR).
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:
Realizar una copia de seguridad física completa de la base de datos.
Descargar el archivo de copia de seguridad física a un dispositivo local y descomprimirlo con la herramienta
qpress.Usar
Percona XtraBackuppara restaurar los archivos de copia de seguridad descomprimidos en el directorio de datos de su base de datos autogestionada.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.
NotaSi 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
Herramientas
Paso 1: Descargar el archivo de copia de seguridad
Vaya a la lista de instancias de RDS, seleccione una región y luego haga clic en el ID de la instancia destino.
En el panel de navegación izquierdo, haga clic en Backup and Restoration.
-
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.
Si no hay ningún archivo de copia de seguridad física disponible, puede crear una copia de seguridad manual. Para obtener más información, consulte Perform a manual backup.
Si se le redirige a la página Advanced Download, su instancia de RDS es una instancia de disco en la nube. Para restaurar datos, consulte Restore data from a snapshot backup file of an ApsaraDB RDS for MySQL instance to a self-managed database.
-
En el cuadro de diálogo Download instance backup, copie la URL interna o la URL pública según sea necesario.
ImportanteSi 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.
-
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.qpNotaReemplace
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.qpcomo 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.qpo_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
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.
Consulte la sección Prerequisites para instalar Percona XtraBackup y qpress, y luego ejecute los siguientes comandos.
Preguntas frecuentes sobre descompresión
Paso 3: Restaurar los datos
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
-
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/. -
Modifique el directorio de datos (datadir) de su base de datos autogestionada.
-
Edite el archivo de configuración de la base de datos.
sudo vim /etc/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione la tecla
ipara entrar al modo de edición y establezca el parámetro datadir en/var/mysql_newdata.datadir = /var/mysql_newdatamysql_newdataes el nuevo directorio de datos para la base de datos autogestionada, que creó en la sección Prerequisites. -
Otorgue permisos sobre el nuevo directorio de datos.
chown -R mysql:mysql /var/mysql_newdata Presione la tecla
Escpara salir del modo de edición e introduzca:wq!para guardar y salir.
-
-
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.cnfde 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
-
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.cnfubicado 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/. -
Modifique el archivo de configuración de la base de datos autogestionada
my.cnf.-
Edite el archivo de configuración de la base de datos.
sudo vim /etc/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione la tecla
ipara entrar al modo de edición y cambie el parámetro datadir a/var/mysql_newdata.datadir = /var/mysql_newdatamysql_newdataes el nuevo directorio de datos para la base de datos autogestionada, que se creó en la sección Preparations. -
Agregue el siguiente contenido a
my.cnf.innodb_undo_tablespaces=2 innodb_undo_directory=/var/mysql_newdataImportanteEl valor del parámetro innodb_undo_tablespaces debe coincidir con el valor en
/var/mysql_bkdata/backup-my.cnf. Ejecute el comandocat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespacespara consultar dicho valor. Presione la tecla
Escpara salir del modo de edición e introduzca:wq!para guardar y salir.
-
-
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.cnfde 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
-
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/. -
Modifique el directorio de datos (datadir) de su base de datos autogestionada.
-
Edite el archivo de configuración de la base de datos.
sudo vim /usr/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione la tecla
ipara entrar al modo de edición y agregue el parámetro datadir.datadir = /var/mysql_newdatamysql_newdataes el nuevo directorio de datos para la base de datos autogestionada, que creó en Preparations. Presione la tecla
Escpara salir del modo de edición y luego introduzca:wq!para guardar y salir.
-
-
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.cnfde 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
-
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/. -
Modifique el archivo de configuración de la base de datos autogestionada
my.cnf.-
Edite el archivo de configuración de la base de datos.
sudo vim /etc/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione la tecla
ipara entrar al modo de edición y agregue el parámetro datadir.datadir = /var/mysql_newdatamysql_newdataes el nuevo directorio de datos para la base de datos autogestionada, que se creó en la sección Preparations. -
Agregue el siguiente contenido a
my.cnf.innodb_log_file_size=1048576000ImportanteEl valor del parámetro innodb_log_file_size debe ser igual al valor en
/var/mysql_bkdata/backup-my.cnf. Utilice el comandocat /var/mysql_bkdata/backup-my.cnf | grep innodb_log_file_sizepara consultar dicho valor. Presione la tecla
Escpara salir del modo de edición e introduzca:wq!para guardar y salir.
-
-
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.cnfde 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
Paso 4: Iniciar la base de datos
MySQL 8.0 y 5.7
-
(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ónmy.cnfde la base de datos autogestionada.-
Edite el archivo de configuración de la base de datos.
sudo vim /etc/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione
ipara entrar al modo de edición y agregue el siguiente contenido.lower_case_table_names=1 Presione la tecla
Escpara salir del modo de edición e introduzca:wq!para guardar y salir.
-
-
Otorgue permisos sobre el directorio de datos.
sudo chown -R mysql:mysql /var/mysql_newdata -
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.cnfcomo 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_newdataen este ejemplo. Consulte Prerequisites para determinar el directorio de datos de su base de datos.
MySQL 5.6
-
(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ónmy.cnfde la base de datos autogestionada.-
Edite el archivo de configuración de la base de datos.
sudo vim /usr/my.cnfPara encontrar la ruta del archivo de configuración de la base de datos, consulte Prerequisites.
-
Presione
ipara entrar al modo de edición y agregue el siguiente contenido.lower_case_table_names=1 Presione la tecla
Escpara salir del modo de edición e introduzca:wq!para guardar y salir.
-
-
Otorgue permisos sobre el directorio de datos.
sudo chown -R mysql:mysql /var/mysql_newdata -
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.cnfcomo 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_newdatacomo ejemplo. Consulte Prerequisites para determinar el directorio de datos de la base de datos.
MySQL 5.5
-
Otorgue permisos sobre el directorio de datos.
sudo chown -R mysql:mysql /var/mysql_newdata -
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.cnfcomo 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_newdatacomo ejemplo. Consulte Prerequisites para confirmar el directorio de datos de su base de datos.
Preguntas frecuentes sobre inicio
Paso 5: Conectar y verificar
-
Ejecute el siguiente comando para iniciar sesión en la base de datos MySQL y verificar que el proceso se inició correctamente.
mysql -u -pNotaEste 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-tablesal 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.
-
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
Referencias
Para restaurar todos los datos o bases de datos y tablas específicas desde una instancia de RDS for MySQL a otra instancia de RDS, consulte Restore full data o Restore databases and tables.
Para más métodos de restauración de datos, consulte Overview of data restoration methods.