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.
- Paso 1: Descargar una copia de respaldo completa de su instancia de base de datos de RDS for MySQL
- Paso 2: Instalación de qpress y XtraBackup en la base de datos de MySQL local
- Paso 3: Restauración de la copia de respaldo en la base de datos de MySQL local
Procedimiento operativo
- Descargue la copia de respaldo completa de destino de su instancia de base de datos de RDS for MySQL.
- Suba la copia de respaldo completa a la base de datos de MySQL local.
- Utilice la herramienta qpress para descomprimir la copia de respaldo completa.
- 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.
- 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.
- 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
- 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
- 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.
- MySQL: Index of mysql-local/Downloads (huaweicloud.com)
- qpress: https://repo.percona.com/yum/release/
- Percona XtraBackup:
- Para MySQL 5.6 y 5.7, descargue XtraBackup 2.4.9 o posterior.
- Para MySQL 8.0, descargue XtraBackup 8.0 o posterior.
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
Percona XtraBackup
XtraBackup 2.4.9 (MySQL 5.6 y 5.7)
XtraBackup 8.0 (MySQL 8.0)
- 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.
- 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
- 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
- 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
- Instale Percona XtraBackup.
- Para MySQL 5.6 y 5.7, Percona XtraBackup 2.4.9 se usa como ejemplo.
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm --nodeps --force
- Para MySQL 8.0, XtraBackup Percona 8.0 se utiliza como ejemplo.
wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.32-26/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm --nodeps --force
- Para MySQL 5.6 y 5.7, Percona XtraBackup 2.4.9 se usa como ejemplo.
Paso 3: Restauración de la copia de respaldo en la base de datos de MySQL local
- Cree un backupdir de directorio temporal.
mkdir backupdir
- Descomprima la copia de respaldo completa.
- Elimine el archivo .qp.
find ./backupdir/ -name '*.qp' | xargs rm -f
- Prepare el archivo de copia de respaldo.
- Haga copias de respaldo de los datos.
- Detenga el servicio de base de datos de MySQL.
Para MySQL 5.7, ejecute el siguiente comando:
/bin/systemctl stop mysqld.service
- 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
- Cree un nuevo directorio de base de datos y cambie los permisos.
- Detenga el servicio de base de datos de MySQL.
- 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.
- MySQL 5.6 y 5.7:
- Inicie la base de datos de MySQL.
Para MySQL 5.7, ejecute el siguiente comando:
/bin/systemctl start mysqld.service
- Inicie sesión en la base de datos y vea el resultado de la restauración.