

# Configuración, inicio y detención de la replicación del registro binario (binlog)
<a name="mysql-stored-proc-replicating"></a>

Puede invocar los siguientes procedimientos almacenados cuando esté conectado a la instancia principal en un clúster de Aurora MySQL. Estos procedimientos controlan la forma en la que se replican las transacciones desde una base de datos externa en Aurora MySQL o desde Aurora MySQL a una base de datos externa.

**Topics**
+ [mysql.rds\_disable\_session\_binlog (Aurora MySQL versión 2)](#mysql_rds_disable_session_binlog)
+ [mysql.rds\_enable\_session\_binlog (Aurora MySQL versión 2)](#mysql_rds_enable_session_binlog)
+ [mysql.rds\_import\_binlog\_ssl\_material](#mysql_rds_import_binlog_ssl_material)
+ [mysql.rds\_next\_master\_log (Aurora MySQL versión 2)](#mysql_rds_next_master_log)
+ [mysql.rds\_next\_source\_log (Aurora MySQL versión 3)](#mysql_rds_next_source_log)
+ [mysql.rds\_remove\_binlog\_ssl\_material](#mysql_rds_remove_binlog_ssl_material)
+ [mysql.rds\_reset\_external\_master (Aurora MySQL versión 2)](#mysql_rds_reset_external_master)
+ [mysql.rds\_reset\_external\_source (Aurora MySQL versión 3)](#mysql_rds_reset_external_source)
+ [mysql.rds\_set\_binlog\_source\_ssl (Aurora MySQL versión 3)](#mysql_rds_set_binlog_source_ssl)
+ [mysql.rds\_set\_external\_master (Aurora MySQL versión 2)](#mysql_rds_set_external_master)
+ [mysql.rds\_set\_external\_source (Aurora MySQL versión 3)](#mysql_rds_set_external_source)
+ [mysql.rds\_set\_external\_master\_with\_auto\_position (Aurora MySQL versión 2)](#mysql_rds_set_external_master_with_auto_position)
+ [mysql.rds\_set\_external\_source\_with\_auto\_position (Aurora MySQL versión 3)](#mysql_rds_set_external_source_with_auto_position)
+ [mysql.rds\_set\_master\_auto\_position (Aurora MySQL versión 2)](#mysql_rds_set_master_auto_position)
+ [mysql.rds\_set\_read\_only (Aurora MySQL versión  3)](#mysql_rds_set_read_only)
+ [mysql.rds\_set\_session\_binlog\_format (Aurora MySQL versión 2)](#mysql_rds_set_session_binlog_format)
+ [mysql.rds\_set\_source\_auto\_position (Aurora MySQL versión 3)](#mysql_rds_set_source_auto_position)
+ [mysql.rds\_skip\_repl\_error](#mysql_rds_skip_repl_error)
+ [mysql.rds\_start\_replication](#mysql_rds_start_replication)
+ [mysql.rds\_start\_replication\_until(Aurora MySQL versión 3)](#mysql_rds_start_replication_until)
+ [mysql.rds\_stop\_replication](#mysql_rds_stop_replication)

## mysql.rds\_disable\_session\_binlog (Aurora MySQL versión 2)
<a name="mysql_rds_disable_session_binlog"></a>

Desactiva el registro binario de la sesión actual mediante la configuración de la variable `sql_log_bin` a `OFF`.

### Sintaxis
<a name="mysql_rds_disable_session_binlog-syntax"></a>

```
CALL mysql.rds_disable_session_binlog;
```

### Parameters
<a name="mysql_rds_disable_session_binlog-parameters"></a>

Ninguno

### Notas de uso
<a name="mysql_rds_disable_session_binlog-usage"></a>

Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal.

Para Aurora, este procedimiento se admite en la versión 2.12 de Aurora MySQL y versiones posteriores compatibles con MySQL 5.7.

**nota**  
En la versión 3 de Aurora MySQL, puede usar el siguiente comando para deshabilitar el registro binario de la sesión actual si tiene el privilegio:`SESSION_VARIABLES_ADMIN`  

```
SET SESSION sql_log_bin = OFF;
```

## mysql.rds\_enable\_session\_binlog (Aurora MySQL versión 2)
<a name="mysql_rds_enable_session_binlog"></a>

Activa el registro binario de la sesión actual mediante la configuración de la variable `sql_log_bin` a `ON`.

### Sintaxis
<a name="mysql_rds_enable_session_binlog-syntax"></a>

```
CALL mysql.rds_enable_session_binlog;
```

### Parameters
<a name="mysql_rds_enable_session_binlog-parameters"></a>

Ninguno

### Notas de uso
<a name="mysql_rds_enable_session_binlog-usage"></a>

Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal.

Para Aurora, este procedimiento se admite en la versión 2.12 de Aurora MySQL y versiones posteriores compatibles con MySQL 5.7.

**nota**  
En la versión 3 de Aurora MySQL, puede usar el siguiente comando para habilitar el registro binario de la sesión actual si tiene el privilegio:`SESSION_VARIABLES_ADMIN`  

```
SET SESSION sql_log_bin = ON;
```

## mysql.rds\_import\_binlog\_ssl\_material
<a name="mysql_rds_import_binlog_ssl_material"></a>

Importa el certificado de la entidad de certificación, el certificado de cliente y la clave de cliente a un clúster de base de datos de Aurora MySQL. La información es necesaria para la comunicación SSL y la replicación cifrada.

**nota**  
Actualmente, este procedimiento es compatible con la versión 2: 2.09.2, 2.10.0, 2.10.1 y 2.11.0; y la versión 3: 3.01.1 y posteriores de Aurora MySQL.

### Sintaxis
<a name="mysql_rds_import_binlog_ssl_material-syntax"></a>

 

```
CALL mysql.rds_import_binlog_ssl_material (
  {{ssl_material}}
);
```

### Parámetros
<a name="mysql_rds_import_binlog_ssl_material-parameters"></a>

 {{ssl\_material}}   
Carga JSON que incluye el contenido de los siguientes archivos con formato .pem para un cliente MySQL:  
+ "ssl\_ca":"{{certificado de la entidad de certificación}}"
+ "ssl\_cert":"{{certificado cliente}}"
+ "ssl\_key":"{{clave cliente}}"

### Notas de uso
<a name="mysql_rds_import_binlog_ssl_material-usage-notes"></a>

Prepare la replicación cifrada antes de ejecutar este procedimiento:
+ Si no tiene SSL habilitado en la instancia de base de datos de origen MySQL externa y no dispone de una clave cliente ni de un certificado cliente, habilite SSL en el servidor de base de datos de MySQL y genere la clave cliente y el certificado cliente necesarios.
+ Si SSL está habilitado en la instancia de base de datos de origen externa, proporcione una clave cliente y un certificado cliente para el clúster de base de datos de Aurora MySQL. Si no los tiene, genere una nueva clave y certificado para el clúster de base de datos Aurora MySQL. Para firmar el certificado cliente, debe tener la clave de la entidad de certificación que usó para configurar SSL en la instancia de base de datos de origen MySQL externa.

Para obtener más información, consulte [Creating SSL Certificates and Keys Using openssl](https://dev.mysql.com/doc/refman/8.0/en/creating-ssl-files-using-openssl.html) en la documentación de MySQL.

**importante**  
Después de preparar la replicación cifrada, use una conexión SSL para ejecutar este procedimiento. La clave cliente no se debe transferir en una conexión que no sea segura. 

Este procedimiento importa la información de SSL de una base de datos MySQL externa a un clúster de base de datos Aurora MySQL. La información de SSL está en archivos con formato .pem que contienen la información de SSL del clúster de base de datos Aurora MySQL. Durante la replicación cifrada, el clúster de base de datos Aurora MySQL actúa como un cliente en el servidor de base de datos MySQL. Los certificados y las claves del cliente de Aurora MySQL son archivos con formato .pem.

Puede copiar la información de estos archivos en el parámetro `ssl_material` en la carga JSON correcta. Para permitir la replicación cifrada, importe esta información de SSL en el clúster de base de datos Aurora MySQL.

La carga JSON debe tener el siguiente formato.

```
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
{{ssl_ca_pem_body_code}}
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
{{ssl_cert_pem_body_code}}
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
{{ssl_key_pem_body_code}}
-----END RSA PRIVATE KEY-----\n"}'
```

### Ejemplos
<a name="mysql_rds_import_binlog_ssl_material-examples"></a>

En el siguiente ejemplo, se importa la información de SSL en Aurora MySQL. En los archivos con formato .pem, el código del cuerpo suele ser más grande que el que se muestra en el ejemplo.

```
call mysql.rds_import_binlog_ssl_material(
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END RSA PRIVATE KEY-----\n"}');
```

## mysql.rds\_next\_master\_log (Aurora MySQL versión 2)
<a name="mysql_rds_next_master_log"></a>

Cambia la posición del registro de instancia de base de datos de origen al inicio del siguiente registro binario en la instancia de base de datos de origen. Use este procedimiento únicamente si aparece el error de E/S de replicación 1236 en una réplica de lectura.

### Sintaxis
<a name="mysql_rds_next_master_log-syntax"></a>

 

```
CALL mysql.rds_next_master_log(
{{curr_master_log}}
);
```

### Parámetros
<a name="mysql_rds_next_master_log-parameters"></a>

 {{curr\_master\_log}}   
El índice del archivo de registro maestro actual. Por ejemplo, si el nombre del archivo actual es `mysql-bin-changelog.012345`, el índice es 12345. Para determinar el nombre del archivo de log maestro actual, ejecute el comando `SHOW REPLICA STATUS` y vea el campo `Master_Log_File`.

### Notas de uso
<a name="mysql_rds_next_master_log-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_next_master_log`. 

**aviso**  
Llame a `mysql.rds_next_master_log` solo si la replicación deja de funcionar tras una conmutación por error de una instancia de base de datos Multi-AZ que es el origen de la replicación y el campo `Last_IO_Errno` de `SHOW REPLICA STATUS` muestra el error de E/S 1236.  
La llamada a `mysql.rds_next_master_log` puede provocar una pérdida de datos en la réplica de lectura si las transacciones de la instancia de origen no se escribieron en el registro binario en el disco antes del evento de conmutación por error. 

### Ejemplos
<a name="mysql_rds_next_master_log-examples"></a>

Supongamos que la replicación falla en una réplica de lectura de Aurora MySQL. La ejecución de `SHOW REPLICA STATUS\G` en la réplica de lectura devuelve el siguiente resultado:

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Master: NULL
Source_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.'
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

El campo `Last_IO_Errno` muestra que la instancia ha recibido el error de E/S 1236. El campo `Master_Log_File` muestra que el nombre de archivo es `mysql-bin-changelog.012345`, lo que significa que el índice del archivo de registro es `12345`. Para resolver el error, puede llamar a `mysql.rds_next_master_log` con el siguiente parámetro:

```
CALL mysql.rds_next_master_log(12345);
```

## mysql.rds\_next\_source\_log (Aurora MySQL versión 3)
<a name="mysql_rds_next_source_log"></a>

Cambia la posición del registro de instancia de base de datos de origen al inicio del siguiente registro binario en la instancia de base de datos de origen. Use este procedimiento únicamente si aparece el error de E/S de replicación 1236 en una réplica de lectura.

### Sintaxis
<a name="mysql_rds_next_source_log-syntax"></a>

 

```
CALL mysql.rds_next_source_log(
{{curr_source_log}}
);
```

### Parameters
<a name="mysql_rds_next_source_log-parameters"></a>

 {{curr\_source\_log}}   
El índice del archivo de registro de origen actual. Por ejemplo, si el nombre del archivo actual es `mysql-bin-changelog.012345`, el índice es 12345. Para determinar el nombre del archivo de registro de origen actual, ejecute el comando `SHOW REPLICA STATUS` y vea el campo `Source_Log_File`.

### Notas de uso
<a name="mysql_rds_next_source_log-usage-notes"></a>

El usuario administrativo debe ejecutar el procedimiento `mysql.rds_next_source_log`. 

**aviso**  
Llame a `mysql.rds_next_source_log` solo si la replicación deja de funcionar tras una conmutación por error de una instancia de base de datos Multi-AZ que es el origen de la replicación y el campo `Last_IO_Errno` de `SHOW REPLICA STATUS` muestra el error de E/S 1236.  
La llamada a `mysql.rds_next_source_log` puede provocar una pérdida de datos en la réplica de lectura si las transacciones de la instancia de origen no se escribieron en el registro binario en el disco antes del evento de conmutación por error. Puede reducir el riesgo de que esto ocurra configurando los parámetros de la instancia de origen `sync_binlog` y `innodb_support_xa` en `1`, aunque esto podría reducir el rendimiento. 

### Ejemplos
<a name="mysql_rds_next_source_log-examples"></a>

Supongamos que la replicación falla en una réplica de lectura de Aurora MySQL. La ejecución de `SHOW REPLICA STATUS\G` en la réplica de lectura devuelve el siguiente resultado:

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Source: NULL
Source_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.'
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

El campo `Last_IO_Errno` muestra que la instancia ha recibido el error de E/S 1236. El campo `Source_Log_File` muestra que el nombre de archivo es `mysql-bin-changelog.012345`, lo que significa que el índice del archivo de registro es `12345`. Para resolver el error, puede llamar a `mysql.rds_next_source_log` con el siguiente parámetro:

```
CALL mysql.rds_next_source_log(12345);
```

## mysql.rds\_remove\_binlog\_ssl\_material
<a name="mysql_rds_remove_binlog_ssl_material"></a>

Elimina el certificado de la entidad de certificación, el certificado cliente y la clave cliente para las comunicaciones SSL y la replicación cifrada. Esta información se importa mediante [mysql.rds\_import\_binlog\_ssl\_material](#mysql_rds_import_binlog_ssl_material).

### Sintaxis
<a name="mysql_rds_remove_binlog_ssl_material-syntax"></a>

 

```
CALL mysql.rds_remove_binlog_ssl_material;
```

## mysql.rds\_reset\_external\_master (Aurora MySQL versión 2)
<a name="mysql_rds_reset_external_master"></a>

Vuelve a configurar una instancia de base de datos de Aurora MySQL para que deje de ser una réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

**importante**  
Para ejecutar este procedimiento, `autocommit` debe estar habilitado. Para habilitarlo, establezca el parámetro `autocommit` en `1`. Para obtener información acerca de cómo modificar los parámetros, consulte [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.Modifying.md).

### Sintaxis
<a name="mysql_rds_reset_external_master-syntax"></a>

 

```
CALL mysql.rds_reset_external_master;
```

### Notas de uso
<a name="mysql_rds_reset_external_master-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_reset_external_master`. Este procedimiento se debe ejecutar en la instancia de base de datos de MySQL que se va a eliminar como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

**nota**  
Ofrecemos estos procedimientos almacenados principalmente para habilitar la replicación con las instancias de MySQL que se ejecutan fuera de Amazon RDS. Recomendamos que utilice réplicas de Aurora para administrar la replicación dentro de un clúster de base de datos de Aurora MySQL siempre que sea posible. Para obtener información sobre la administración de la replicación en clústeres de base de datos de Aurora MySQL, consulte [Uso de réplicas de Aurora](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas).

Para obtener más información acerca del uso de la replicación para importar los datos desde una instancia de MySQL que se ejecuta fuera de Aurora MySQL, consulte [Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario)](AuroraMySQL.Replication.MySQL.md).

## mysql.rds\_reset\_external\_source (Aurora MySQL versión 3)
<a name="mysql_rds_reset_external_source"></a>

Vuelve a configurar una instancia de base de datos de Aurora MySQL para que deje de ser una réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

**importante**  
Para ejecutar este procedimiento, `autocommit` debe estar habilitado. Para habilitarlo, establezca el parámetro `autocommit` en `1`. Para obtener información acerca de cómo modificar los parámetros, consulte [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.Modifying.md).

### Sintaxis
<a name="mysql_rds_reset_external_source-syntax"></a>

 

```
CALL mysql.rds_reset_external_source;
```

### Notas de uso
<a name="mysql_rds_reset_external_source-usage-notes"></a>

El usuario administrativo debe ejecutar el procedimiento `mysql.rds_reset_external_source`. Este procedimiento se debe ejecutar en la instancia de base de datos de MySQL que se va a eliminar como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

**nota**  
Ofrecemos estos procedimientos almacenados principalmente para habilitar la replicación con las instancias de MySQL que se ejecutan fuera de Amazon RDS. Recomendamos que utilice réplicas de Aurora para administrar la replicación dentro de un clúster de base de datos de Aurora MySQL siempre que sea posible. Para obtener información sobre la administración de la replicación en clústeres de base de datos de Aurora MySQL, consulte [Uso de réplicas de Aurora](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas).

## mysql.rds\_set\_binlog\_source\_ssl (Aurora MySQL versión 3)
<a name="mysql_rds_set_binlog_source_ssl"></a>

Habilita el cifrado `SOURCE_SSL` para la replicación de binlog. Para obtener más información, consulte [CHANGE REPLICATION SOURCE TO statement](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html) en la documentación de MySQL.

### Sintaxis
<a name="mysql_rds_set_binlog_source_ssl-syntax"></a>

```
CALL mysql.rds_set_binlog_source_ssl({{mode}});
```

### Parameters
<a name="mysql_rds_set_binlog_source_ssl-parameters"></a>

{{mode}}  
Valor que indica si está habilitado el cifrado:`SOURCE_SSL`  
+ `0`: el cifrado `SOURCE_SSL` está deshabilitado. El valor predeterminado es `0`.
+ `1`: el cifrado `SOURCE_SSL` está habilitado. Puede configurar el cifrado mediante SSL o TLS.

### Notas de uso
<a name="mysql_rds_set_binlog_source_ssl-usage"></a>

Este procedimiento es compatible con la versión 3.06 y versiones posteriores de Aurora MySQL.

## mysql.rds\_set\_external\_master (Aurora MySQL versión 2)
<a name="mysql_rds_set_external_master"></a>

Configura una instancia de base de datos de Aurora MySQL para que sea una réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

El procedimiento `mysql.rds_set_external_master` está en desuso y se eliminará en la próxima versión. En su lugar, use `mysql.rds\_set\_external\_source`.

**importante**  
Para ejecutar este procedimiento, `autocommit` debe estar habilitado. Para habilitarlo, establezca el parámetro `autocommit` en `1`. Para obtener información acerca de cómo modificar los parámetros, consulte [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.Modifying.md).

### Sintaxis
<a name="mysql_rds_set_external_master-syntax"></a>

 

```
CALL mysql.rds_set_external_master (
  {{host_name}}
  , {{host_port}}
  , {{replication_user_name}}
  , {{replication_user_password}}
  , {{mysql_binary_log_file_name}}
  , {{mysql_binary_log_file_location}}
  , {{ssl_encryption}}
);
```

### Parámetros
<a name="mysql_rds_set_external_master-parameters"></a>

 {{host\_name}}   
El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Amazon RDS para convertirse en instancia de base de datos de origen.

 {{host\_port}}   
El puerto usado por la instancia de MySQL que se ejecuta fuera de Amazon RDS que se configurará como instancia de base de datos de origen. Si la configuración de la red incluye la replicación de puertos SSH (Secure Shell) que convierte el número de puerto, especifique el número de puerto expuesto por SSH.

 {{replication\_user\_name}}   
El ID de un usuario con permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia de MySQL que se ejecuta fuera de Amazon RDS. Es recomendable que proporcione una cuenta que se use solo para la replicación con la instancia externa.

 {{replication\_user\_password}}   
La contraseña del ID de usuario especificado en `replication_user_name`.

 {{mysql\_binary\_log\_file\_name}}   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 {{mysql\_binary\_log\_file\_location}}   
La ubicación del registro binario `mysql_binary_log_file_name` en la que la replicación empieza a leer la información de la replicación.  
Para determinar el nombre y la ubicación del archivo binlog, puede ejecutar `SHOW MASTER STATUS` en la instancia de base de datos de origen.

 {{ssl\_encryption}}   
Valor que especifica si el cifrado de la capa de conexión segura (SSL) se usa en la conexión de reproducción. El 1 especifica que se usa el cifrado SSL; el 0 especifica que no se usa el cifrado. El valor predeterminado es 0.  
La opción `MASTER_SSL_VERIFY_SERVER_CERT` no es compatible. Esta opción se establece en 0, lo que significa que la conexión está cifrada, pero los certificados no se verifican.

### Notas de uso
<a name="mysql_rds_set_external_master-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_set_external_master`. Este procedimiento se debe ejecutar en la instancia de base de datos de MySQL que se va a configurar como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS. 

Antes de ejecutar `mysql.rds_set_external_master`, debe configurar la instancia de MySQL que se ejecuta fuera de Amazon RDS como instancia de base de datos de origen. Para conectarse a la instancia de MySQL que se ejecuta fuera de Amazon RDS, debe especificar los valores de `replication_user_name` y `replication_user_password` que indican un usuario de replicación que tiene los permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia externa de MySQL. 

**Para configurar una instancia externa de MySQL como instancia de base de datos de origen**

1. Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta de usuario que se usará para la replicación. A continuación se muestra un ejemplo.

   **MySQL 5.7**

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '{{password}}';
   ```

   **MySQL 8.0**

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '{{password}}';
   ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

1. En la instancia externa de MySQL, conceda a `REPLICATION CLIENT` y a `REPLICATION SLAVE` privilegios para el usuario de replicación. En el siguiente ejemplo se conceden los privilegios `REPLICATION CLIENT` y `REPLICATION SLAVE` en todas las bases de datos al usuario “repl\_user” de su dominio.

   **MySQL 5.7**

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '{{password}}';
   ```

   **MySQL 8.0**

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
   ```

Para utilizar la replicación cifrada, configure la instancia de base de datos de origen para que utilice conexiones SSL. Asimismo, importe el certificado de la entidad de certificación, el certificado cliente y la clave cliente en la instancia de base de datos o clúster de base de datos mediante el procedimiento [mysql.rds\_import\_binlog\_ssl\_material](#mysql_rds_import_binlog_ssl_material).

**nota**  
Ofrecemos estos procedimientos almacenados principalmente para habilitar la replicación con las instancias de MySQL que se ejecutan fuera de Amazon RDS. Recomendamos que utilice réplicas de Aurora para administrar la replicación dentro de un clúster de base de datos de Aurora MySQL siempre que sea posible. Para obtener información sobre la administración de la replicación en clústeres de base de datos de Aurora MySQL, consulte [Uso de réplicas de Aurora](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas).

Después de llamar a `mysql.rds_set_external_master` para configurar una instancia de base de datos de Amazon RDS como réplica de lectura, puede llamar a [mysql.rds\_start\_replication](#mysql_rds_start_replication) en la réplica de lectura para iniciar el proceso de replicación. Puede llamar a [mysql.rds\_reset\_external\_master (Aurora MySQL versión 2)](#mysql_rds_reset_external_master) para eliminar la configuración de la réplica de lectura.

Cuando se llama a `mysql.rds_set_external_master`, Amazon RDS registra la hora, el usuario y una acción `set master` en las tablas `mysql.rds_history` y `mysql.rds_replication_status`.

### Ejemplos
<a name="mysql_rds_set_external_master-examples"></a>

Cuando se ejecuta en una instancia de base de datos de MySQL, el siguiente ejemplo configura la instancia de base de datos como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

```
call mysql.rds_set_external_master(
  'Externaldb.some.com',
  3306,
  'repl_user',
  '{{password}}',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## mysql.rds\_set\_external\_source (Aurora MySQL versión 3)
<a name="mysql_rds_set_external_source"></a>

Configura una instancia de base de datos de Aurora MySQL para que sea una réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

**importante**  
Para ejecutar este procedimiento, `autocommit` debe estar habilitado. Para habilitarlo, establezca el parámetro `autocommit` en `1`. Para obtener información acerca de cómo modificar los parámetros, consulte [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.Modifying.md).

### Sintaxis
<a name="mysql_rds_set_external_source-syntax"></a>

 

```
CALL mysql.rds_set_external_source (
  {{host_name}}
  , {{host_port}}
  , {{replication_user_name}}
  , {{replication_user_password}}
  , {{mysql_binary_log_file_name}}
  , {{mysql_binary_log_file_location}}
  , {{ssl_encryption}}
);
```

### Parámetros
<a name="mysql_rds_set_external_source-parameters"></a>

 {{host\_name}}   
El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Amazon RDS para convertirse en instancia de base de datos de origen.

 {{host\_port}}   
El puerto usado por la instancia de MySQL que se ejecuta fuera de Amazon RDS que se configurará como instancia de base de datos de origen. Si la configuración de la red incluye la replicación de puertos SSH (Secure Shell) que convierte el número de puerto, especifique el número de puerto expuesto por SSH.

 {{replication\_user\_name}}   
El ID de un usuario con permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia de MySQL que se ejecuta fuera de Amazon RDS. Es recomendable que proporcione una cuenta que se use solo para la replicación con la instancia externa.

 {{replication\_user\_password}}   
La contraseña del ID de usuario especificado en `replication_user_name`.

 {{mysql\_binary\_log\_file\_name}}   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 {{mysql\_binary\_log\_file\_location}}   
La ubicación del registro binario `mysql_binary_log_file_name` en la que la replicación empieza a leer la información de la replicación.  
Para determinar el nombre y la ubicación del archivo binlog, puede ejecutar `SHOW MASTER STATUS` en la instancia de base de datos de origen.

 {{ssl\_encryption}}   
Valor que especifica si el cifrado de la capa de conexión segura (SSL) se usa en la conexión de reproducción. El 1 especifica que se usa el cifrado SSL; el 0 especifica que no se usa el cifrado. El valor predeterminado es 0.  
Debe haber importado un certificado SSL personalizado mediante [mysql.rds\_import\_binlog\_ssl\_material](#mysql_rds_import_binlog_ssl_material) para habilitar esta opción. Si no ha importado un certificado SSL personalizado, defina este parámetro en 0 y utilice [mysql.rds\_set\_binlog\_source\_ssl (Aurora MySQL versión 3)](#mysql_rds_set_binlog_source_ssl) para habilitar el SSL para la replicación de registros binarios.  
La opción `SOURCE_SSL_VERIFY_SERVER_CERT` no es compatible. Esta opción se establece en 0, lo que significa que la conexión está cifrada, pero los certificados no se verifican.

### Notas de uso
<a name="mysql_rds_set_external_source-usage-notes"></a>

El usuario administrativo debe ejecutar el procedimiento `mysql.rds_set_external_source`. Este procedimiento se debe ejecutar en la instancia de base de datos de Aurora MySQL que se va a configurar como réplica de lectura de una instancia de MySQL que se ejecute fuera de Amazon RDS. 

 Antes de ejecutar `mysql.rds_set_external_source`, debe configurar la instancia de MySQL que se ejecuta fuera de Amazon RDS como instancia de base de datos de origen. Para conectarse a la instancia de MySQL que se ejecuta fuera de Amazon RDS, debe especificar los valores de `replication_user_name` y `replication_user_password` que indican un usuario de replicación que tiene los permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia externa de MySQL.

**Para configurar una instancia externa de MySQL como instancia de base de datos de origen**

1. Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta de usuario que se usará para la replicación. A continuación se muestra un ejemplo.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '{{password}}';
   ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

1. En la instancia externa de MySQL, conceda a `REPLICATION CLIENT` y a `REPLICATION SLAVE` privilegios para el usuario de replicación. En el siguiente ejemplo se conceden los privilegios `REPLICATION CLIENT` y `REPLICATION SLAVE` en todas las bases de datos al usuario “repl\_user” de su dominio.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
   ```

Para utilizar la replicación cifrada, configure la instancia de base de datos de origen para que utilice conexiones SSL. Asimismo, importe el certificado de la entidad de certificación, el certificado del cliente y la clave de cliente en la instancia de base de datos o clúster de base de datos mediante el procedimiento [mysql.rds\_import\_binlog\_ssl\_material](url-rds-user;mysql_rds_import_binlog_ssl_material.html).

**nota**  
Ofrecemos estos procedimientos almacenados principalmente para habilitar la replicación con las instancias de MySQL que se ejecutan fuera de Amazon RDS. Recomendamos que utilice réplicas de Aurora para administrar la replicación dentro de un clúster de base de datos de Aurora MySQL siempre que sea posible. Para obtener información sobre la administración de la replicación en clústeres de base de datos de Aurora MySQL, consulte [Uso de réplicas de Aurora](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas).

Después de llamar a `mysql.rds_set_external_source` para configurar una instancia de base de datos de Aurora MySQL como réplica de lectura, puede llamar a [mysql.rds\_start\_replication](#mysql_rds_start_replication) en la réplica de lectura para iniciar el proceso de replicación. Puede llamar a [mysql.rds\_reset\_external\_source (Aurora MySQL versión 3)](#mysql_rds_reset_external_source) para eliminar la configuración de la réplica de lectura.

Cuando se llama a `mysql.rds_set_external_source`, Amazon RDS registra la hora, el usuario y una acción `set master` en las tablas `mysql.rds_history` y `mysql.rds_replication_status`.

### Ejemplos
<a name="mysql_rds_set_external_source-examples"></a>

Cuando se ejecuta en una instancia de base de datos de Aurora MySQL, el siguiente ejemplo configura la instancia de base de datos como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Amazon RDS.

```
call mysql.rds_set_external_source(
  'Externaldb.some.com',
  3306,
  'repl_user',
  '{{password}}',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## mysql.rds\_set\_external\_master\_with\_auto\_position (Aurora MySQL versión 2)
<a name="mysql_rds_set_external_master_with_auto_position"></a>

Permite configurar una instancia principal de Aurora MySQL para aceptar la replicación entrante desde una instancia MySQL externa. Este procedimiento también configura la replicación basada en identificadores de transacciones globales (GTID).

Este procedimiento no configura la replicación retardada, porque Aurora MySQL no admite este tipo de replicación.

### Sintaxis
<a name="mysql_rds_set_external_master_with_auto_position-syntax"></a>

```
CALL mysql.rds_set_external_master_with_auto_position (
  {{host_name}}
  , {{host_port}}
  , {{replication_user_name}}
  , {{replication_user_password}}
  , {{ssl_encryption}}
);
```

### Parámetros
<a name="mysql_rds_set_external_master_with_auto_position-parameters"></a>

{{host\_name}}  
 El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Aurora que se convertirá en el origen de replicación. 

{{host\_port}}  
 El puerto usado por la instancia de MySQL que se ejecuta fuera de Aurora que se configurará como origen de la replicación. Si la configuración de la red incluye la replicación de puertos Secure Shell (SSH) que convierte el número de puerto, especifique el número de puerto expuesto por SSH. 

{{replication\_user\_name}}  
 ID de un usuario con permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia de MySQL que se ejecuta fuera de Aurora. Es recomendable que proporcione una cuenta que se use solo para la replicación con la instancia externa. 

{{replication\_user\_password}}  
La contraseña del ID de usuario especificado en `replication_user_name`.

{{ssl\_encryption}}  
Esta opción no está implementada actualmente. El valor predeterminado es 0.

### Notas de uso
<a name="mysql_rds_set_external_master_with_auto_position-usage-notes"></a>

Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal.

El usuario maestro debe ejecutar el procedimiento `mysql.rds_set_external_master_with_auto_position`. El usuario maestro ejecuta este procedimiento en la instancia principal de un clúster de bases de datos de Aurora MySQL que funciona como un destino de replicación. Este puede ser el destino de replicación de una instancia de MySQL externa o un clúster de bases de datos de Aurora MySQL.

Este procedimiento se admite para la versión 2 de Aurora MySQL. Para Aurora MySQL versión 3, utilice el procedimiento [mysql.rds\_set\_external\_source\_with\_auto\_position (Aurora MySQL versión 3)](#mysql_rds_set_external_source_with_auto_position) en su lugar.

Antes de ejecutar `mysql.rds_set_external_master_with_auto_position`, configure la instancia de base de datos de MySQL para que sea un origen de replicación. Para conectar la instancia de MySQL externa, especifique valores para `replication_user_name` y `replication_user_password`. Estos valores deben indicar a un usuario de replicación que tiene permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia externa de MySQL.

**Para configurar una instancia externa de MySQL como origen de replicación**

1. Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta de usuario que se usará para la replicación. A continuación se muestra un ejemplo.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. En la instancia de MySQL externa, conceda a `REPLICATION CLIENT` y a `REPLICATION SLAVE` privilegios para el usuario de replicación. En el siguiente ejemplo se conceden los privilegios `REPLICATION CLIENT` y `REPLICATION SLAVE` en todas las bases de datos al usuario `'repl_user'` de su dominio.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

Cuando invoque `mysql.rds_set_external_master_with_auto_position`, Amazon RDS registra determinada información. Esta información es la hora, el usuario y una acción de `"set master"` en las tablas de `mysql.rds_history` y `mysql.rds_replication_status`.

Para omitir una transacción específica basada en GTID que se sabe que causa un problema, puede usar el procedimiento almacenado [mysql.rds\_skip\_transaction\_with\_gtid(Aurora MySQL versión 2 y 3)](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Para obtener más información sobre el uso de la replicación basada en GTID, consulte [Uso de la replicación basada en GTID](mysql-replication-gtid.md).

### Ejemplos
<a name="mysql_rds_set_external_master_with_auto_position-examples"></a>

 Cuando se ejecuta en una instancia principal de Aurora, el siguiente ejemplo configura el clúster de Aurora para que actúe como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Aurora. 

```
call mysql.rds_set_external_master_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user'@'mydomain.com',
  'SomePassW0rd');
```

## mysql.rds\_set\_external\_source\_with\_auto\_position (Aurora MySQL versión 3)
<a name="mysql_rds_set_external_source_with_auto_position"></a>

Permite configurar una instancia principal de Aurora MySQL para aceptar la replicación entrante desde una instancia MySQL externa. Este procedimiento también configura la replicación basada en identificadores de transacciones globales (GTID).

### Sintaxis
<a name="mysql_rds_set_external_source_with_auto_position-syntax"></a>

```
CALL mysql.rds_set_external_source_with_auto_position (
  {{host_name}}
  , {{host_port}}
  , {{replication_user_name}}
  , {{replication_user_password}}
  , {{ssl_encryption}}
);
```

### Parámetros
<a name="mysql_rds_set_external_source_with_auto_position-parameters"></a>

{{host\_name}}  
 El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Aurora que se convertirá en el origen de replicación. 

{{host\_port}}  
 El puerto usado por la instancia de MySQL que se ejecuta fuera de Aurora que se configurará como origen de la replicación. Si la configuración de la red incluye la replicación de puertos Secure Shell (SSH) que convierte el número de puerto, especifique el número de puerto expuesto por SSH. 

{{replication\_user\_name}}  
 ID de un usuario con permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia de MySQL que se ejecuta fuera de Aurora. Es recomendable que proporcione una cuenta que se use solo para la replicación con la instancia externa. 

{{replication\_user\_password}}  
 La contraseña del ID de usuario especificado en `replication_user_name`. 

{{ssl\_encryption}}  
Esta opción no está implementada actualmente. El valor predeterminado es 0.  
Utilice [mysql.rds\_set\_binlog\_source\_ssl (Aurora MySQL versión 3)](#mysql_rds_set_binlog_source_ssl) para habilitar SSL para replicación de registros binarios.

### Notas de uso
<a name="mysql_rds_set_external_source_with_auto_position-usage-notes"></a>

 Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal. 

 El usuario administrativo debe ejecutar el procedimiento `mysql.rds_set_external_source_with_auto_position`. El usuario administrativo ejecuta este procedimiento en la instancia principal de un clúster de bases de datos de Aurora MySQL que funciona como un destino de replicación. Este puede ser el destino de replicación de una instancia de MySQL externa o un clúster de bases de datos de Aurora MySQL. 

Este procedimiento se admite para Aurora MySQL versión 3. Este procedimiento no configura la replicación retardada, porque Aurora MySQL no admite este tipo de replicación.

 Antes de ejecutar `mysql.rds_set_external_source_with_auto_position`, configure la instancia de base de datos de MySQL para que sea un origen de replicación. Para conectar la instancia de MySQL externa, especifique valores para `replication_user_name` y `replication_user_password`. Estos valores deben indicar a un usuario de replicación que tiene permisos `REPLICATION CLIENT` y `REPLICATION SLAVE` en la instancia externa de MySQL. 

**Para configurar una instancia externa de MySQL como origen de replicación**

1.  Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta de usuario que se usará para la replicación. A continuación se muestra un ejemplo. 

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1.  En la instancia de MySQL externa, conceda a `REPLICATION CLIENT` y a `REPLICATION SLAVE` privilegios para el usuario de replicación. En el siguiente ejemplo se conceden los privilegios `REPLICATION CLIENT` y `REPLICATION SLAVE` en todas las bases de datos al usuario `'repl_user'` de su dominio. 

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

 Cuando invoque `mysql.rds_set_external_source_with_auto_position`, Amazon RDS registra determinada información. Esta información es la hora, el usuario y una acción de `"set master"` en las tablas de `mysql.rds_history` y `mysql.rds_replication_status`. 

 Para omitir una transacción específica basada en GTID que se sabe que causa un problema, puede usar el procedimiento almacenado [mysql.rds\_skip\_transaction\_with\_gtid(Aurora MySQL versión 2 y 3)](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Para obtener más información sobre el uso de la replicación basada en GTID, consulte [Uso de la replicación basada en GTID](mysql-replication-gtid.md). 

### Ejemplos
<a name="mysql_rds_set_external_source_with_auto_position-examples"></a>

 Cuando se ejecuta en una instancia principal de Aurora, el siguiente ejemplo configura el clúster de Aurora para que actúe como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Aurora. 

```
call mysql.rds_set_external_source_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user'@'mydomain.com',
  'SomePassW0rd');
```

## mysql.rds\_set\_master\_auto\_position (Aurora MySQL versión 2)
<a name="mysql_rds_set_master_auto_position"></a>

Establece el modo de replicación en el que se debe basar ya sea en posiciones de archivos de registros binarios o en identificadores de transacciones globales (GTID).

### Sintaxis
<a name="mysql_rds_set_master_auto_position-syntax"></a>

 

```
CALL mysql.rds_set_master_auto_position (
{{auto_position_mode}}
);
```

### Parámetros
<a name="mysql_rds_set_master_auto_position-parameters"></a>

 {{auto\_position\_mode}}   
Un valor que indicar si debe usarse la replicación de posición de los archivos de registro o la replicación basada en GTID:  
+ `0`: utilice el método de replicación basado en la posición del archivo de registro binario. El valor predeterminado es `0`.
+ `1`: utilice el método de replicación basado en GTID.

### Notas de uso
<a name="mysql_rds_set_master_auto_position-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_set_master_auto_position`.

Este procedimiento se admite para la versión 2 de Aurora MySQL.

## mysql.rds\_set\_read\_only (Aurora MySQL versión  3)
<a name="mysql_rds_set_read_only"></a>

Activa o desactiva el modo `read_only` globalmente para la instancia de base de datos.

### Sintaxis
<a name="mysql_rds_set_read_only-syntax"></a>

```
CALL mysql.rds_set_read_only({{mode}});
```

### Parameters
<a name="mysql_rds_set_read_only-parameters"></a>

{{mode}}  
Valor que indica si el modo `read_only` está activado o desactivado globalmente para la instancia de base de datos:  
+ `0`: `OFF`. El valor predeterminado es `0`.
+ `1` – `ON`

### Notas de uso
<a name="mysql_rds_set_read_only-usage"></a>

El procedimiento almacenado `mysql.rds_set_read_only` modifica solo el parámetro `read_only`. El parámetro `innodb_read_only` no se puede cambiar en las instancias de bases de datos del lector.

El cambio del parámetro `read_only` no persiste al reiniciarse. Para realizar cambios permanentes en `read_only`, debe usar el parámetro de clúster de base de datos `read_only`.

Este procedimiento es compatible con la versión 3.06 y versiones posteriores de Aurora MySQL.

## mysql.rds\_set\_session\_binlog\_format (Aurora MySQL versión 2)
<a name="mysql_rds_set_session_binlog_format"></a>

Establece el formato de registro binario de la sesión actual.

### Sintaxis
<a name="mysql_rds_set_session_binlog_format-syntax"></a>

```
CALL mysql.rds_set_session_binlog_format({{format}});
```

### Parameters
<a name="mysql_rds_set_session_binlog_format-parameters"></a>

{{format}}  
Un valor que indica el formato de registro binario de la sesión actual:  
+ `STATEMENT`: el origen de la replicación escribe los eventos en el registro binario en función de instrucciones SQL.
+ `ROW`: el origen de la replicación escribe los eventos en el registro binario que indican los cambios en las filas individuales de la tabla.
+ `MIXED`: el registro se basa generalmente en instrucciones SQL, pero cambia a filas en determinadas condiciones. Para obtener más información, consulte [Mixed Binary Logging Format](https://dev.mysql.com/doc/refman/8.0/en/binary-log-mixed.html) en la documentación de MySQL.

### Notas de uso
<a name="mysql_rds_set_session_binlog_format-usage"></a>

Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal.

Para utilizar este procedimiento almacenado, debe tener configurado el registro binario para la sesión actual.

Para Aurora, este procedimiento se admite en la versión 2.12 y versiones posteriores compatibles con MySQL 5.7 de Aurora MySQL.

## mysql.rds\_set\_source\_auto\_position (Aurora MySQL versión 3)
<a name="mysql_rds_set_source_auto_position"></a>

Establece el modo de replicación en el que se debe basar, ya sea en posiciones de archivos de registros binarios o en identificadores de transacciones globales (GTID).

### Sintaxis
<a name="mysql_rds_set_source_auto_position-syntax"></a>

```
CALL mysql.rds_set_source_auto_position ({{auto_position_mode}});
```

### Parámetros
<a name="mysql_rds_set_source_auto_position-parameters"></a>

{{auto\_position\_mode}}  
Un valor que indicar si debe usarse la replicación de posición de los archivos de registro o la replicación basada en GTID:  
+  `0`: utilice el método de replicación basado en la posición del archivo de registro binario. El valor predeterminado es `0`. 
+  `1`: utilice el método de replicación basado en GTID. 

### Notas de uso
<a name="mysql_rds_set_source_auto_position-usage-notes"></a>

Para un clúster de bases de datos de Aurora MySQL, puede invocar este procedimiento almacenado cuando esté conectado a la instancia principal. 

El usuario administrativo debe ejecutar el procedimiento `mysql.rds_set_source_auto_position`. 

## mysql.rds\_skip\_repl\_error
<a name="mysql_rds_skip_repl_error"></a>

Omite y elimina un error de replicación en una réplica de lectura de base de datos de MySQL.

### Sintaxis
<a name="mysql_rds_skip_repl_error-syntax"></a>

 

```
CALL mysql.rds_skip_repl_error;
```

### Notas de uso
<a name="mysql_rds_skip_repl_error-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_skip_repl_error` en una réplica de lectura. Para obtener más información sobre este procedimiento, consulte [Skipping the current replication error](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#Appendix.MySQL.CommonDBATasks.SkipError) (Omitir el error de replicación actual).

Para determinar si hay errores, ejecute el comando `SHOW REPLICA STATUS\G` de MySQL. Si un error de replicación no es crítico, puede ejecutar `mysql.rds_skip_repl_error` para omitir el error. Si hay varios errores, `mysql.rds_skip_repl_error` elimina el primer error y advierte de que hay otros presentes. A continuación, puede usar `SHOW REPLICA STATUS\G` para determinar la acción correcta para el siguiente error. Para obtener información acerca de los valores devueltos, consulte [la instrucción SHOW REPLICA STATUS](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) en la documentación de MySQL.

Para obtener más información acerca de la resolución de problemas de replicación con Aurora MySQL, consulte [Diagnóstico y solución de un error de replicación de lectura de MySQL](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.RR).

#### Error de replicación detenida
<a name="skip_repl_error.stopped-error"></a>

Al llamar al procedimiento `mysql.rds_skip_repl_error`, es posible que reciba un mensaje de error en el que se indica que la réplica tiene un error o está deshabilitada.

Este mensaje de error aparece si ejecuta el procedimiento en la instancia principal en lugar de en la réplica de lectura. Debe ejecutar este procedimiento en la réplica de lectura para que funcione.

Este mensaje de error también puede aparecer si ejecuta el procedimiento en la réplica de lectura, pero la replicación no se puede reiniciar correctamente.

Si tiene que omitir un número de errores elevado, el retardo de réplica puede aumentar por encima del periodo de retención predeterminado para los archivos de log binarios (binlog). En este caso, puede producirse un error fatal porque los archivos binlog se están limpiando antes de reproducirse de nuevo en la réplica de lectura. Esta limpieza hace que la replicación se detenga y ya no se puede llamar al comando `mysql.rds_skip_repl_error` para omitir los errores de replicación.

Puede mitigar este problema incrementando el número de horas que los archivos binlog se retienen en la instancia de base de datos de origen. Después de incrementar el tiempo de retención de los archivos binlog, puede reiniciar la replicación y llamar al comando `mysql.rds_skip_repl_error` si es necesario.

Para definir el tiempo de retención de binlog, use el procedimiento [mysql.rds\_set\_configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) y especifique un parámetro de configuración de `'binlog retention hours'` junto con el número de horas para retener los archivos binlog en el clúster de base de datos. El ejemplo siguiente define el período de retención de los archivos binlog en 48 horas.

```
CALL mysql.rds_set_configuration('binlog retention hours', 48);
```

## mysql.rds\_start\_replication
<a name="mysql_rds_start_replication"></a>

Inicia la replicación desde un clúster de base de datos de Aurora MySQL.

**nota**  
Puede utilizar el procedimiento almacenado [mysql.rds\_start\_replication\_until(Aurora MySQL versión 3)](#mysql_rds_start_replication_until) o [mysql.rds\_start\_replication\_until\_gtid(Aurora MySQL versión 3)](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid) para iniciar la replicación desde una instancia de base de datos de Aurora MySQL y detener la replicación en la ubicación del archivo de registro binario especificado.

### Sintaxis
<a name="mysql_rds_start_replication-syntax"></a>

 

```
CALL mysql.rds_start_replication;
```

### Notas de uso
<a name="mysql_rds_start_replication-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_start_replication`.

Para importar datos desde una instancia de MySQL fuera de Amazon RDS, llame a `mysql.rds_start_replication` en la réplica de lectura para iniciar el proceso de replicación después de llamar a [mysql.rds\_set\_external\_master (Aurora MySQL versión 2)](#mysql_rds_set_external_master) o [mysql.rds\_set\_external\_source (Aurora MySQL versión 3)](#mysql_rds_set_external_source) para crear la configuración de replicación. Para obtener más información, consulte [Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario)](AuroraMySQL.Replication.MySQL.md).

Para exportar datos a una instancia de MySQL externa a Amazon RDS, llame a `mysql.rds_start_replication` y a `mysql.rds_stop_replication` en la réplica de lectura para controlar algunas acciones de replicación, como la purga de registros binarios. Para obtener más información, consulte [Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario)](AuroraMySQL.Replication.MySQL.md).

Puede llamar a `mysql.rds_start_replication` en la réplica de lectura para reiniciar cualquier proceso de replicación que haya detenido previamente llamando a `mysql.rds_stop_replication`. Para obtener más información, consulte [Error de replicación detenida](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ReplicationStopped).

## mysql.rds\_start\_replication\_until(Aurora MySQL versión 3)
<a name="mysql_rds_start_replication_until"></a>

Inicia la replicación desde un clúster de base de datos de Aurora MySQL y detiene la replicación en la ubicación del archivo de registro binario especificado.

### Sintaxis
<a name="mysql_rds_start_replication_until-syntax"></a>

 

```
CALL mysql.rds_start_replication_until (
{{replication_log_file}}
  , {{replication_stop_point}}
);
```

### Parámetros
<a name="mysql_rds_start_replication_until-parameters"></a>

 {{replication\_log\_file}}   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 {{replication\_stop\_point }}   
La ubicación del registro binario `replication_log_file` en la que la replicación se detendrá.

### Notas de uso
<a name="mysql_rds_start_replication_until-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_start_replication_until`.

Este procedimiento es compatible con la versión 3.04 y versiones posteriores de Aurora MySQL.

El procedimiento almacenado `mysql.rds_start_replication_until` no es compatible con la replicación administrada, que incluye lo siguiente:
+ [Reproducción de clústeres de base de datos de Amazon Aurora MySQL entre Regiones de AWS](AuroraMySQL.Replication.CrossRegion.md)
+ [Migración de datos desde una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Amazon Aurora MySQL con una réplica de lectura de Aurora](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

El nombre de archivo especificado para el parámetro `replication_log_file` debe coincidir con el nombre del archivo binlog de instancia de base de datos de origen.

Cuando el parámetro `replication_stop_point` especifica una ubicación de parada correspondiente al pasado, la replicación se detiene de inmediato.

### Ejemplos
<a name="mysql_rds_start_replication_until-examples"></a>

En el ejemplo siguiente se inicia la replicación y se replican los cambios hasta que alcanza la ubicación `120` del archivo registro binario `mysql-bin-changelog.000777`.

```
call mysql.rds_start_replication_until(
  'mysql-bin-changelog.000777',
  120);
```

## mysql.rds\_stop\_replication
<a name="mysql_rds_stop_replication"></a>

Detiene la replicación desde una instancia de base de datos de MySQL.

### Sintaxis
<a name="mysql_rds_stop_replication-syntax"></a>

 

```
CALL mysql.rds_stop_replication;
```

### Notas de uso
<a name="mysql_rds_stop_replication-usage-notes"></a>

El usuario maestro debe ejecutar el procedimiento `mysql.rds_stop_replication`. 

Si desea configurar la replicación para importar datos desde una instancia de MySQL que se ejecuta fuera de Amazon RDS, llame a `mysql.rds_stop_replication` en la réplica de lectura para detener el proceso de replicación una vez completada la importación. Para obtener más información, consulte [Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario)](AuroraMySQL.Replication.MySQL.md).

Si desea configurar la replicación para exportar datos a una instancia de MySQL externa a Amazon RDS, llame a `mysql.rds_start_replication` y a `mysql.rds_stop_replication` en la réplica de lectura para controlar algunas acciones de replicación, como la limpieza de registros binarios. Para obtener más información, consulte [Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario)](AuroraMySQL.Replication.MySQL.md).

El procedimiento almacenado `mysql.rds_stop_replication` no es compatible con la replicación administrada, que incluye lo siguiente:
+ [Reproducción de clústeres de base de datos de Amazon Aurora MySQL entre Regiones de AWS](AuroraMySQL.Replication.CrossRegion.md)
+ [Migración de datos desde una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Amazon Aurora MySQL con una réplica de lectura de Aurora](AuroraMySQL.Migrating.RDSMySQL.Replica.md)