¿Cómo puedo usar los registros binarios de una instancia de base de datos activa de Amazon RDS para MySQL para que se replique en un servidor en espera local?
Quiero replicar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para MySQL en un servidor en espera local.
Descripción corta
Para migrar datos de una instancia de base de datos de Amazon RDS para MySQL a un servidor local, crea una réplica de lectura en AWS. A continuación, cambia el destino de replicación de la réplica de lectura de Amazon RDS para MySQL en el servidor local.
Si utilizas la replicación basada en el identificador de transacción global (GTID), consulta Configuración de la replicación de posición de archivo de registro binario con una instancia de origen externa.
Resolución
Creación de una réplica de lectura de la instancia de base de datos activa
Sigue estos pasos:
-
Confirma que has activado las copias de seguridad automatizadas para la instancia de base de datos activa que deseas replicar.
Nota: El periodo mínimo de conservación de las copias de seguridad es de un día. Cuando haces copias de seguridad de los datos, incurres en costes adicionales. Para obtener más información, consulta Precios de Amazon RDS. -
Crea una réplica de lectura de la instancia de base de datos activa con la misma configuración.
-
Inicia sesión en la instancia de base de datos de réplica de lectura.
-
Ejecuta el siguiente comando para confirmar que la instancia de base de datos de réplica de lectura coincide con la instancia de base de datos activa.
Para MySQL versión 8.0.23 y posteriores:mysql> show replica status \GPara la versión de MySQL anterior a 8.0.23:
mysql> show slave status \GNota: Cuando la instancia de réplica no se retrasa con respecto a la instancia de base de datos, el parámetro Seconds_Behind_Master se muestra como 0.
-
Ejecuta el siguiente comando para detener la replicación en la instancia de base de datos de réplica de lectura:
mysql> call mysql.rds_stop_replication; -
Para registrar los parámetros -log_file y -log_position, ejecuta el siguiente comando en la instancia de base de datos de réplica de lectura.
Para MySQL versión 8.0.23 y posteriores:mysql> show replica status \GPara la versión de MySQL anterior a 8.0.23:
mysql> show slave status \GNota: El parámetro -log_file es el valor de relay_source_log_file y el parámetro -log_position es el valor de exec_source_log_pos.
Creación de un archivo de volcado de la instancia de base de datos de réplica de lectura
Sigue estos pasos:
-
Ejecuta el siguiente comando en el cliente mysqldump o una utilidad similar para crear una copia de seguridad de la instancia de base de datos de réplica de lectura:
mysqldump -h hostname -u username -p dbname > backup_file_name.sql -
Inicia sesión en el servidor local y, a continuación, transfiere el archivo de volcado al servidor.
Restauración del archivo de volcado en la nueva instancia de base de datos
Sigue estos pasos:
-
Crea una nueva instancia de base de datos externa en el servidor local.
-
Ejecuta el siguiente comando para restaurar el archivo de volcado en la nueva instancia de base de datos externa:
mysql -h hostname -u username -p dbname < backup_file_name.sql -
Inicia sesión en la instancia de base de datos activa.
-
Ejecuta el siguiente comando para configurar un usuario de replicación y concederle los permisos necesarios:
mysql> create user repl_user@'%' identified by 'repl_user'; mysql> grant replication slave, replication client on *.* to repl_user@'%'; mysql> show grants for repl_user@'%';Nota: Sustituye repl_user por tu nombre de usuario de replicación.
-
Inicia sesión en la nueva instancia de base de datos externa y, a continuación, detén el servidor local.
-
Modifica los parámetros del archivo my.cnf para que apunten a tu ID de servidor único y nombre de base de datos que deseas replicar. Por ejemplo, server_id=2 y replicate-do-db=test.
-
Guarda el archivo.
-
Reinicia el servidor local.
Confirmar que la nueva instancia de base de datos externa se puede conectar a la instancia de base de datos activa
Si usas Amazon Elastic Compute Cloud (Amazon EC2) como una instancia MySQL externa, actualiza la instancia para permitir las conexiones desde el grupo de seguridad. O bien, permite las conexiones desde la dirección IP del grupo de seguridad de la instancia de base de datos activa. Si usas un servidor externo de MySQL, ejecuta telnet para comprobar la conectividad. Para obtener más información, consulta ¿Por qué no puedo conectarme a mi instancia de base de datos de Amazon RDS?
Sigue estos pasos:
- Para cambiar los parámetros que usa el servidor de réplica para conectarse al origen, ejecuta el siguiente comando en la nueva instancia de base de datos externa.
Para MySQL versión 8.0.23 y posteriores:
Para la versión de MySQL anterior a 8.0.23:mysql> change replication source to source_host='rds-endpoint', source_user='repl_user', source_password='password', source_log_file='mysql-bin.000001', source_log_pos=107;
Nota: Sustituye rds-endpoint por el punto de enlace de la instancia de base de datos activa. Utiliza el nombre de usuario y la contraseña que creaste al restaurar el archivo de volcado en la nueva base de datos. Sustituye los valores relay_source_file y exec_source_log_pos por los valores -log_file y -log_position de la réplica de lectura.mysql> change master to master_host='rds-endpoint', master_user='repl_user', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107; - Confirma que el servidor local se puede conectar a la instancia de base de datos activa.
Inicio de la replicación
Sigue estos pasos:
-
Inicia sesión en el servidor local.
-
Ejecuta el siguiente comando para iniciar la replicación:
Para MySQL versión 8.0.23 y posteriores:mysql> start replica;Para la versión de MySQL anterior a 8.0.23:
mysql> start slave; -
Ejecuta el siguiente comando para comprobar que la replicación se sincronice entre la instancia de base de datos activa y el servidor local:
Para MySQL versión 8.0.23 y posteriores:mysql> show replica status\GPara la versión de MySQL anterior a 8.0.23:
mysql> show slave status\G -
Cuando el parámetro Seconds_Behind_Master sea igual a 0, elimina la instancia de base de datos de réplica de lectura.
Información relacionada
¿Cómo puedo migrar a una instancia de base de datos de Amazon RDS o Amazon Aurora con AWS DMS?
Exportación de datos desde una instancia de base de datos MySQL mediante replicación
- Idioma
- Español

Contenido relevante
- preguntada hace un año
- preguntada hace 8 meses
- preguntada hace 9 meses
- preguntada hace un año
OFICIAL DE AWSActualizada hace un año