

# Referencia de procedimientos almacenados en Aurora MySQL
<a name="AuroraMySQL.Reference.StoredProcs"></a>

Para administrar el clúster de base de datos de Aurora MySQL, invoque los procedimientos almacenados integrados.

**Topics**
+ [Recopilación y mantenimiento del historial de estado global](mysql-stored-proc-gsh.md)
+ [Configuración, inicio y detención de la replicación del registro binario (binlog)](mysql-stored-proc-replicating.md)
+ [Finalización de una sesión o una consulta](mysql-stored-proc-ending.md)
+ [Replicación de transacciones mediante GTID](mysql-stored-proc-gtid.md)
+ [Rotación de los registros de consultas](mysql-stored-proc-logging.md)
+ [Establecimiento y muestra de la configuración del registro binario](mysql-stored-proc-configuring.md)

# Recopilación y mantenimiento del historial de estado global
<a name="mysql-stored-proc-gsh"></a>

Amazon RDS proporciona un conjunto de procedimientos que crean instantáneas de los valores de las variables de estado a lo largo del tiempo y los escriben en una tabla, junto con cualquier cambio desde la última instantánea. Esta infraestructura se denomina Historial de estado global. Para obtener más información, consulte [Managing the Global Status History](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#Appendix.MySQL.CommonDBATasks.GoSH) (Administrar el historial de estado global).

Los siguientes procedimientos almacenados administran la forma en que se recopila y mantiene el historial de estado global.

**Topics**
+ [mysql.rds\$1collect\$1global\$1status\$1history](#mysql_rds_collect_global_status_history)
+ [mysql.rds\$1disable\$1gsh\$1collector](#mysql_rds_disable_gsh_collector)
+ [mysql.rds\$1disable\$1gsh\$1rotation](#mysql_rds_disable_gsh_rotation)
+ [mysql.rds\$1enable\$1gsh\$1collector](#mysql_rds_enable_gsh_collector)
+ [mysql.rds\$1enable\$1gsh\$1rotation](#mysql_rds_enable_gsh_rotation)
+ [mysql.rds\$1rotate\$1global\$1status\$1history](#mysql_rds_rotate_global_status_history)
+ [mysql.rds\$1set\$1gsh\$1collector](#mysql_rds_set_gsh_collector)
+ [mysql.rds\$1set\$1gsh\$1rotation](#mysql_rds_set_gsh_rotation)

## mysql.rds\$1collect\$1global\$1status\$1history
<a name="mysql_rds_collect_global_status_history"></a>

Toma una instantánea bajo demanda para el historial de estado global.

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

 

```
CALL mysql.rds_collect_global_status_history;
```

## mysql.rds\$1disable\$1gsh\$1collector
<a name="mysql_rds_disable_gsh_collector"></a>

Desactiva las instantáneas tomadas por el historial de estado global.

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

 

```
CALL mysql.rds_disable_gsh_collector;
```

## mysql.rds\$1disable\$1gsh\$1rotation
<a name="mysql_rds_disable_gsh_rotation"></a>

Desactiva la rotación de la tabla `mysql.global_status_history`.

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

 

```
CALL mysql.rds_disable_gsh_rotation;
```

## mysql.rds\$1enable\$1gsh\$1collector
<a name="mysql_rds_enable_gsh_collector"></a>

Activa el historial de estado global para tomar instantáneas predeterminadas a los intervalos especificados por `rds_set_gsh_collector`.

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

 

```
CALL mysql.rds_enable_gsh_collector;
```

## mysql.rds\$1enable\$1gsh\$1rotation
<a name="mysql_rds_enable_gsh_rotation"></a>

Activa la rotación del contenido de la tabla `mysql.global_status_history` a `mysql.global_status_history_old` a los intervalos especificados por `rds_set_gsh_rotation`.

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

 

```
CALL mysql.rds_enable_gsh_rotation;
```

## mysql.rds\$1rotate\$1global\$1status\$1history
<a name="mysql_rds_rotate_global_status_history"></a>

Rota el contenido de la tabla `mysql.global_status_history` a `mysql.global_status_history_old` a petición.

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

 

```
CALL mysql.rds_rotate_global_status_history;
```

## mysql.rds\$1set\$1gsh\$1collector
<a name="mysql_rds_set_gsh_collector"></a>

Especifica el intervalo, en minutos, entre las instantáneas tomadas por el historial de estado global.

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

 

```
CALL mysql.rds_set_gsh_collector(intervalPeriod);
```

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

 *intervalPeriod*   
El intervalo, en minutos, entre snapshots. El valor predeterminado es `5`.

## mysql.rds\$1set\$1gsh\$1rotation
<a name="mysql_rds_set_gsh_rotation"></a>

Especifica el intervalo, en días, entre rotaciones de la tabla `mysql.global_status_history`.

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

 

```
CALL mysql.rds_set_gsh_rotation(intervalPeriod);
```

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

 *intervalPeriod*   
El intervalo, en días, entre rotaciones de la tabla. El valor predeterminado es `7`.

# 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\$1disable\$1session\$1binlog (Aurora MySQL versión 2)](#mysql_rds_disable_session_binlog)
+ [mysql.rds\$1enable\$1session\$1binlog (Aurora MySQL versión 2)](#mysql_rds_enable_session_binlog)
+ [mysql.rds\$1import\$1binlog\$1ssl\$1material](#mysql_rds_import_binlog_ssl_material)
+ [mysql.rds\$1next\$1master\$1log (Aurora MySQL versión 2)](#mysql_rds_next_master_log)
+ [mysql.rds\$1next\$1source\$1log (Aurora MySQL versión 3)](#mysql_rds_next_source_log)
+ [mysql.rds\$1remove\$1binlog\$1ssl\$1material](#mysql_rds_remove_binlog_ssl_material)
+ [mysql.rds\$1reset\$1external\$1master (Aurora MySQL versión 2)](#mysql_rds_reset_external_master)
+ [mysql.rds\$1reset\$1external\$1source (Aurora MySQL versión 3)](#mysql_rds_reset_external_source)
+ [mysql.rds\$1set\$1binlog\$1source\$1ssl (Aurora MySQL versión 3)](#mysql_rds_set_binlog_source_ssl)
+ [mysql.rds\$1set\$1external\$1master (Aurora MySQL versión 2)](#mysql_rds_set_external_master)
+ [mysql.rds\$1set\$1external\$1source (Aurora MySQL versión 3)](#mysql_rds_set_external_source)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (Aurora MySQL versión 2)](#mysql_rds_set_external_master_with_auto_position)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (Aurora MySQL versión 3)](#mysql_rds_set_external_source_with_auto_position)
+ [mysql.rds\$1set\$1master\$1auto\$1position (Aurora MySQL versión 2)](#mysql_rds_set_master_auto_position)
+ [mysql.rds\$1set\$1read\$1only (Aurora MySQL versión  3)](#mysql_rds_set_read_only)
+ [mysql.rds\$1set\$1session\$1binlog\$1format (Aurora MySQL versión 2)](#mysql_rds_set_session_binlog_format)
+ [mysql.rds\$1set\$1source\$1auto\$1position (Aurora MySQL versión 3)](#mysql_rds_set_source_auto_position)
+ [mysql.rds\$1skip\$1repl\$1error](#mysql_rds_skip_repl_error)
+ [mysql.rds\$1start\$1replication](#mysql_rds_start_replication)
+ [mysql.rds\$1start\$1replication\$1until(Aurora MySQL versión 3)](#mysql_rds_start_replication_until)
+ [mysql.rds\$1stop\$1replication](#mysql_rds_stop_replication)

## mysql.rds\$1disable\$1session\$1binlog (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\$1enable\$1session\$1binlog (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\$1import\$1binlog\$1ssl\$1material
<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\$1material*   
Carga JSON que incluye el contenido de los siguientes archivos con formato .pem para un cliente MySQL:  
+ "ssl\$1ca":"*certificado de la entidad de certificación*"
+ "ssl\$1cert":"*certificado cliente*"
+ "ssl\$1key":"*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\$1next\$1master\$1log (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\$1master\$1log*   
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\$1next\$1source\$1log (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\$1source\$1log*   
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\$1remove\$1binlog\$1ssl\$1material
<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\$1import\$1binlog\$1ssl\$1material](#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\$1reset\$1external\$1master (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\$1reset\$1external\$1source (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\$1set\$1binlog\$1source\$1ssl (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\$1set\$1external\$1master (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\$1set\$1external\$1source`.

**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\$1name*   
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\$1port*   
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\$1user\$1name*   
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\$1user\$1password*   
La contraseña del ID de usuario especificado en `replication_user_name`.

 *mysql\$1binary\$1log\$1file\$1name*   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 *mysql\$1binary\$1log\$1file\$1location*   
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\$1encryption*   
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\$1user” 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\$1import\$1binlog\$1ssl\$1material](#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\$1start\$1replication](#mysql_rds_start_replication) en la réplica de lectura para iniciar el proceso de replicación. Puede llamar a [mysql.rds\$1reset\$1external\$1master (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\$1set\$1external\$1source (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\$1name*   
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\$1port*   
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\$1user\$1name*   
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\$1user\$1password*   
La contraseña del ID de usuario especificado en `replication_user_name`.

 *mysql\$1binary\$1log\$1file\$1name*   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 *mysql\$1binary\$1log\$1file\$1location*   
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\$1encryption*   
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\$1import\$1binlog\$1ssl\$1material](#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\$1set\$1binlog\$1source\$1ssl (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\$1user” 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\$1import\$1binlog\$1ssl\$1material](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\$1start\$1replication](#mysql_rds_start_replication) en la réplica de lectura para iniciar el proceso de replicación. Puede llamar a [mysql.rds\$1reset\$1external\$1source (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\$1set\$1external\$1master\$1with\$1auto\$1position (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\$1name*  
 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\$1port*  
 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\$1user\$1name*  
 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\$1user\$1password*  
La contraseña del ID de usuario especificado en `replication_user_name`.

*ssl\$1encryption*  
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\$1set\$1external\$1source\$1with\$1auto\$1position (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\$1skip\$1transaction\$1with\$1gtid(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\$1set\$1external\$1source\$1with\$1auto\$1position (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\$1name*  
 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\$1port*  
 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\$1user\$1name*  
 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\$1user\$1password*  
 La contraseña del ID de usuario especificado en `replication_user_name`. 

*ssl\$1encryption*  
Esta opción no está implementada actualmente. El valor predeterminado es 0.  
Utilice [mysql.rds\$1set\$1binlog\$1source\$1ssl (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\$1skip\$1transaction\$1with\$1gtid(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\$1set\$1master\$1auto\$1position (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\$1position\$1mode*   
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\$1set\$1read\$1only (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\$1set\$1session\$1binlog\$1format (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\$1set\$1source\$1auto\$1position (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\$1position\$1mode*  
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\$1skip\$1repl\$1error
<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\$1set\$1configuration](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\$1start\$1replication
<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\$1start\$1replication\$1until(Aurora MySQL versión 3)](#mysql_rds_start_replication_until) o [mysql.rds\$1start\$1replication\$1until\$1gtid(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\$1set\$1external\$1master (Aurora MySQL versión 2)](#mysql_rds_set_external_master) o [mysql.rds\$1set\$1external\$1source (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\$1start\$1replication\$1until(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\$1log\$1file*   
El nombre del registro binario de la instancia de base de datos de origen que contiene la información de replicación.

 *replication\$1stop\$1point *   
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\$1stop\$1replication
<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)

# Finalización de una sesión o una consulta
<a name="mysql-stored-proc-ending"></a>

Los siguientes procedimientos almacenados finalizan una sesión o una consulta.

**Topics**
+ [mysql.rds\$1kill](#mysql_rds_kill)
+ [mysql.rds\$1kill\$1query](#mysql_rds_kill_query)

## mysql.rds\$1kill
<a name="mysql_rds_kill"></a>

Finaliza una conexión al servidor de MySQL.

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

```
CALL mysql.rds_kill(processID);
```

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

 *processID*   
La identidad del subproceso de conexión que se va a finalizar.

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

Cada conexión al servidor de MySQL se ejecuta en un subproceso independiente. Para finalizar una conexión, use el procedimiento `mysql.rds_kill` y transfiera el ID de subproceso de esa conexión. Para obtener el ID del subproceso, use el comando [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html) de MySQL.

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

El siguiente ejemplo finaliza una conexión con el ID de subproceso 4243:

```
CALL mysql.rds_kill(4243);
```

## mysql.rds\$1kill\$1query
<a name="mysql_rds_kill_query"></a>

Finaliza una consulta que se ejecuta en el servidor de MySQL.

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

```
CALL mysql.rds_kill_query(processID);
```

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

 *processID*   
La identidad del proceso o subproceso que ejecuta la consulta que se va a finalizar.

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

Para detener una consulta que se ejecuta en el servidor MySQL, utilice el procedimiento `mysql_rds_kill_query` y pase el ID de conexión del subproceso que está ejecutando la consulta. A continuación, el procedimiento finaliza la conexión.

Para obtener el ID, consulte la [tabla INFORMATION\$1SCHEMA PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/information-schema-processlist-table.html) o utilice el comando MySQL [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html). El valor de la columna ID de `SHOW PROCESSLIST` o `SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST` es el *ID del proceso*. 

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

El siguiente ejemplo detiene una consulta con el ID de subproceso 230040:

```
CALL mysql.rds_kill_query(230040);
```

# Replicación de transacciones mediante GTID
<a name="mysql-stored-proc-gtid"></a>

Los siguientes procedimientos almacenados controlan cómo se replican las transacciones mediante identificadores de transacciones globales (GTID) con Aurora MySQL. Para conocer cómo utilizar la replicación basada en GTID con Aurora MySQL, consulte [Uso de la replicación basada en GTID](mysql-replication-gtid.md).

**Topics**
+ [mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL versión 3)](#mysql_assign_gtids_to_anonymous_transactions)
+ [mysql.rds\$1gtid\$1purged (Aurora MySQL versión 3)](#mysql_rds_gtid_purged)
+ [mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL versión 2 y 3)](#mysql_rds_skip_transaction_with_gtid)
+ [mysql.rds\$1start\$1replication\$1until\$1gtid(Aurora MySQL versión 3)](#mysql_rds_start_replication_until_gtid)

## mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL versión 3)
<a name="mysql_assign_gtids_to_anonymous_transactions"></a>

Configura la opción `ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS` de la instrucción `CHANGE REPLICATION SOURCE TO`. Hace que el canal de replicación asigne un GTID a las transacciones replicadas que no tienen uno. De esta forma, puede realizar la replicación de registros binarios desde un origen que no utiliza la replicación basada en GTID en una réplica que sí. Para obtener más información, consulte la [instrucción CHANGE REPLICATION SOURCE TO](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html) y [Replicación desde un origen sin GTID a una réplica con GTID](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html) en el *Manual de referencia de MySQL*.

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

```
CALL mysql.rds_assign_gtids_to_anonymous_transactions(gtid_option);
```

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

 *gtid\$1option*  
Valor de cadena. Los valores permitidos son `OFF`, `LOCAL` o un UUID especificado.

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

Este procedimiento tiene el mismo efecto que la emisión de la instrucción `CHANGE REPLICATION SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = gtid_option` en la comunidad MySQL.

 El GTID debe dirigirse a `ON` para *gtid\$1option* que se configurará en `LOCAL` o un UUID específico. 

El valor predeterminado es `OFF`, lo que significa que la característica no se utiliza.

`LOCAL` asigna un GTID que incluye el UUID de la réplica (la configuración `server_uuid`).

Al pasar un parámetro que es UUID se asigna un GTID que incluye el UUID especificado, como la configuración `server_uuid` para el servidor de origen de replicación.

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

Para desactivar esta característica:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('OFF');
+-------------------------------------------------------------+
| Message  |
+-------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: OFF |
+-------------------------------------------------------------+
1 row in set (0.07 sec)
```

Para utilizar el UUID de la réplica:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('LOCAL');
+---------------------------------------------------------------+
| Message  |
+---------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: LOCAL |
+---------------------------------------------------------------+
1 row in set (0.07 sec)
```

Para utilizar un UUID especificado:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('317a4760-f3dd-3b74-8e45-0615ed29de0e');
+----------------------------------------------------------------------------------------------+
| Message |
+----------------------------------------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: 317a4760-f3dd-3b74-8e45-0615ed29de0e |
+----------------------------------------------------------------------------------------------+
1 row in set (0.07 sec)
```

## mysql.rds\$1gtid\$1purged (Aurora MySQL versión 3)
<a name="mysql_rds_gtid_purged"></a>



Establece el valor global de la variable de sistema `gtid_purged` a un conjunto de identificadores de transacciones globales (GTID) determinado. La variable de sistema `gtid_purged` es un conjunto de GTID que consta de los GTID de todas las transacciones que se han confirmado en el servidor, pero que no existen en ningún archivo de registro binario del servidor.

Hay dos maneras de establecer el valor de `gtid_purged` para que sea compatible con MySQL 8.0:
+ Reemplace el valor de `gtid_purged` con el conjunto de GTID especificado.
+ Anexe el conjunto de GTID especificado al conjunto de GTID que ya contiene `gtid_purged`.

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

Para reemplazar el valor de `gtid_purged` con el conjunto de GTID especificado:

```
CALL mysql.rds_gtid_purged (gtid_set);
```

Para anexar el valor de `gtid_purged` al conjunto de GTID especificado:

```
CALL mysql.rds_gtid_purged (+gtid_set);
```

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

*gtid\$1set*  
El valor de *gtid\$1set* debe ser un superconjunto del valor actual de `gtid_purged`, y no puede cruzarse con `gtid_subtract(gtid_executed,gtid_purged)`. Es decir, el nuevo conjunto de GTID debe incluir todos los GTID que ya estuvieron en `gtid_purged`, y no puede incluir ningún GTID en `gtid_executed` que aún no se haya purgado. El parámetro *gtid\$1set* tampoco puede incluir ningún GTID que esté en el conjunto `gtid_owned` global, los GTID de las transacciones que se están procesando actualmente en el servidor.

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

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

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

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

En el siguiente ejemplo, se asigna el GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` a la variable global `gtid_purged`.

```
CALL mysql.rds_gtid_purged('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL versión 2 y 3)
<a name="mysql_rds_skip_transaction_with_gtid"></a>

Omite la replicación de una transacción con el identificador de transacción global (GTID) especificado en una instancia principal de Aurora.

Puede utilizar este procedimiento para la recuperación ante desastres cuando se sabe que una transacción de GTID específica causa un problema. Utilice este procedimiento almacenado para omitir la transacción problemática. Entre los ejemplos de transacciones problemáticas se incluyen transacciones que inhabilitan la replicación, eliminan datos importantes o provocan que la instancia de base de datos no esté disponible.

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

 

```
CALL mysql.rds_skip_transaction_with_gtid (
gtid_to_skip
);
```

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

 *gtid\$1to\$1skip*   
El GTID de la transacción de replicación que se debe omitir.

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

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

Este procedimiento se admite para Aurora MySQL versión 2 y 3.

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

En el ejemplo siguiente se omite la replicación de la transacción con el GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

```
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\$1start\$1replication\$1until\$1gtid(Aurora MySQL versión 3)
<a name="mysql_rds_start_replication_until_gtid"></a>

Inicia la replicación desde un clúster de base de datos de Aurora MySQL y detiene la replicación inmediatamente después del identificador de transacción global (GTID) especificado.

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

 

```
CALL mysql.rds_start_replication_until_gtid(gtid);
```

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

 *gtid*   
El GTID después del cual debe detenerse la replicación.

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

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

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

El procedimiento almacenado `mysql.rds_start_replication_until_gtid` 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)

Cuando el parámetro `gtid` especifica una transacción que ya ha ejecutado la réplica, la replicación se detiene de inmediato.

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

En el ejemplo siguiente se inicia la replicación y se replican los cambios hasta que alcanza el GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

```
call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

# Rotación de los registros de consultas
<a name="mysql-stored-proc-logging"></a>

Los siguientes procedimientos almacenados rotan los registros de MySQL en tablas de copia de seguridad. Para obtener más información, consulte [Archivos de registro de base de datos de Aurora MySQL](USER_LogAccess.Concepts.MySQL.md).

**Topics**
+ [mysql.rds\$1rotate\$1general\$1log](#mysql_rds_rotate_general_log)
+ [mysql.rds\$1rotate\$1slow\$1log](#mysql_rds_rotate_slow_log)

## mysql.rds\$1rotate\$1general\$1log
<a name="mysql_rds_rotate_general_log"></a>

Rota la tabla `mysql.general_log` a una tabla de copia de seguridad.

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

 

```
CALL mysql.rds_rotate_general_log;
```

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

Para rotar la tabla `mysql.general_log` a una tabla de copia de seguridad, llame al procedimiento `mysql.rds_rotate_general_log`. Cuando se rotan las tablas de registro, la tabla de registro actual se copia en una tabla de registro de copia de seguridad y las entradas de la tabla de registro actual se eliminan. Si ya existe una tabla de registro de copia de seguridad, se elimina antes de copiar la tabla del registro actual en el copia de seguridad. Puede consultar la tabla de registro de copia de seguridad si es necesaria. La tabla de registro de copia de seguridad para la tabla `mysql.general_log` se llama `mysql.general_log_backup`.

Puede ejecutar este procedimiento solo cuando el parámetro `log_output` se establezca en`TABLE`.

## mysql.rds\$1rotate\$1slow\$1log
<a name="mysql_rds_rotate_slow_log"></a>

Rota la tabla `mysql.slow_log` a una tabla de copia de seguridad.

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

 

```
CALL mysql.rds_rotate_slow_log;
```

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

Para rotar la tabla `mysql.slow_log` a una tabla de copia de seguridad, llame al procedimiento `mysql.rds_rotate_slow_log`. Cuando se rotan las tablas de registro, la tabla de registro actual se copia en una tabla de registro de copia de seguridad y las entradas de la tabla de registro actual se eliminan. Si ya existe una tabla de registro de copia de seguridad, se elimina antes de copiar la tabla del registro actual en el copia de seguridad. 

Puede consultar la tabla de registro de copia de seguridad si es necesaria. La tabla de registro de copia de seguridad para la tabla `mysql.slow_log` se llama `mysql.slow_log_backup`. 

# Establecimiento y muestra de la configuración del registro binario
<a name="mysql-stored-proc-configuring"></a>

Los siguientes procedimientos almacenados establecen y muestran los parámetros de configuración, por ejemplo, para la retención de archivos de registro binario.

**Topics**
+ [mysql.rds\$1set\$1configuration](#mysql_rds_set_configuration)
+ [mysql.rds\$1show\$1configuration](#mysql_rds_show_configuration)

## mysql.rds\$1set\$1configuration
<a name="mysql_rds_set_configuration"></a>

Especifica el número de horas que se deben conservar los registros binarios o el número de segundos que se retrasará la replicación.

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

 

```
CALL mysql.rds_set_configuration(name,value);
```

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

 *name*   
El nombre del parámetro de configuración que se va a definir.

 *value*   
El valor del parámetro de configuración.

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

El procedimiento `mysql.rds_set_configuration` admite los parámetros de configuración siguientes:
+ [binlog retention hours](#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)

Los parámetros de configuración se almacenan de forma permanente y sobreviven a cualquier reinicio o conmutación por error de una instancia de base de datos.

#### binlog retention hours
<a name="mysql_rds_set_configuration-usage-notes.binlog-retention-hours"></a>

El parámetro `binlog retention hours` se usa para especificar la cantidad de horas que se deben retener los archivos de registro binario. Por lo general, Amazon Aurora limpia un registro binario lo antes posible, pero el registro binario podría seguir siendo necesario para la replicación con una base de datos MySQL externa a Aurora.

El valor predeterminado de `binlog retention hours` es `NULL`. Para Aurora MySQL, `NULL` significa que los registros binarios se limpian en diferido. Los registros binarios de Aurora MySQL pueden permanecer en el sistema durante un cierto periodo, que generalmente no es más de un día.

Para especificar el número de horas que se deben retener los registros binarios en un clúster de base de datos, utilice el procedimiento almacenado `mysql.rds_set_configuration` y especifique un periodo lo bastante largo como para realizar la replicación, como se muestra en el siguiente ejemplo.

`call mysql.rds_set_configuration('binlog retention hours', 24);`

**nota**  
No puede utilizar el valor `0` para `binlog retention hours`.

El valor máximo de `binlog retention hours` para los clústeres de bases de datos de las versiones 2.11.0 y superiores y 3 de Aurora MySQL es 2160 (90 días).

Una vez que haya definido el periodo de retención, monitorice el uso del almacenamiento para la instancia de base de datos con el fin de asegurarse de que los logs binarios conservados no consuman demasiado almacenamiento.

## mysql.rds\$1show\$1configuration
<a name="mysql_rds_show_configuration"></a>

El número de horas que se conservan los registros binarios.

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

 

```
CALL mysql.rds_show_configuration;
```

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

Para verificar el número de horas que Amazon RDS conserva los registros binarios, use el procedimiento almacenado `mysql.rds_show_configuration`.

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

El ejemplo siguiente muestra el periodo de retención:

```
call mysql.rds_show_configuration;
                name                         value     description
                binlog retention hours       24        binlog retention hours specifies the duration in hours before binary logs are automatically deleted.
```