En esta sección, se describen los procedimientos almacenados para las instancias de Cloud SQL.
Un procedimiento almacenado contiene un código SQL que puedes volver a usar.
Para ejecutar un procedimiento almacenado, usa el comando CALL y reemplaza la siguiente variable:
- procedure_name es el nombre del procedimiento almacenado.
CALL procedure_name(parameters);
Para crear un procedimiento almacenado, consulta CREATE PROCEDURE y CREATE FUNCTION Functions.
Cloud SQL no es compatible con la instrucción CREATE FUNCTION. Si deseas obtener más información, consulta Funciones de MySQL no compatibles con Cloud SQL.
mysql.addSecondaryIdxOnReplica
mysql.addSecondaryIdxOnReplica
Sintaxis
mysql.addSecondaryIdxOnReplica(IDXTYPE, IDXNAME, TABLENAME, IDXDEFINITION, IDXOPTION)
Descripción
Agrega un índice secundario a la base de datos. Este procedimiento almacenado es un wrapper para la declaración DDL CREATE INDEX.
- IDXTYPE: Tipo de índice que se creará. Por ejemplo, pasa UNIQUE para crear un índice único.
- IDXNAME: Nombre del índice.
- TABLENAME: Nombre de la tabla en el formato de schema.name.
- IDXDEFINITION: Definición del índice. No incluyas paréntesis externos.
- IDXOPTION: Cualquier opción adicional para pasar la creación del índice. Por ejemplo, en MySQL 8.0, una opción podría pasar INVISIBLE para un índice invisible.
mysql.dropSecondaryIdxOnReplica
Sintaxis
mysql.dropSecondaryIdxOnReplica(IDXNAME, TABLENAME, IDXOPTION)
Descripción
Agrega un índice secundario a la base de datos. Este procedimiento almacenado es un wrapper de la declaración DDL DROP INDEX.
- IDXNAME: Nombre del índice.
- TABLENAME: Nombre de la tabla en el formato de schema.name.
- IDXOPTION: cualquier opción adicional para pasar cuando se descarta un índice. Por ejemplo, una opción de algoritmo como INPLACE.
mysql.skipReplicationError
Sintaxis
mysql.skipReplicationError()
Descripción
Omite un error de replicación que se produjo durante la replicación del servidor externo y, luego, reanuda la replicación.
Solo puedes ejecutar este procedimiento almacenado si se produjo un error de replicación y se detuvieron los subprocesos de E/S y SQL.
Este procedimiento almacenado hace lo siguiente:
Determina si se usa la replicación basada en GTID o en la posición del registro binario.
Si se usa la replicación paralela, el procedimiento almacenado primero llama a
START_SLAVE_UNTIL_SQL_AFTER_MTS_GAPSoSTART_REPLICA UNTIL_SQL_AFTER_MTS_GAPSpara garantizar que no haya brechas en las transacciones aplicadas hasta la transacción fallida. Luego, el procedimiento establece temporalmente la configuración de replicación en un solo subproceso.Para la replicación basada en la posición del registro binario, el procedimiento establece
SQL_SLAVE_SKIP_COUNTERoSQL_REPLICA_SKIP_COUNTER = 1para omitir la transacción actual.Para la replicación basada en GTID, el procedimiento almacenado determina el GTID de la transacción actual con errores según la información de la variable de estado
gtid_executed. Luego, el procedimiento inserta una transacción vacía para completar ese GTID.Si la replicación paralela se había inhabilitado anteriormente, se volverá a habilitar.
El procedimiento almacenado reanuda la replicación.
En la tabla mysql.skip_replication_error_history, se registran todas las invocaciones de este procedimiento almacenado.
¿Qué sigue?
- Obtén información sobre cómo agregar y descartar índices en las réplicas de lectura de Cloud SQL.