Nesta seção, descrevemos os procedimentos armazenados para instâncias do Cloud SQL.
Um procedimento armazenado é um código SQL que pode ser reutilizado
Para executar o procedimento armazenado, use o comando CALL e substitua a
seguinte variável.
- procedure_name é o nome do procedimento armazenado.
CALL procedure_name(parameters);
Para criar um procedimento armazenado, consulte Instruções CREATE PROCEDURE e CREATE FUNCTION.
O Cloud SQL não é compatível com a instrução CREATE FUNCTION. Para mais informações, consulte Recursos MySQL não compatíveis com o Cloud SQL.
mysql.addSecondaryIdxOnReplica
mysql.addSecondaryIdxOnReplica
Sintaxe
mysql.addSecondaryIdxOnReplica(IDXTYPE, IDXNAME, TABLENAME, IDXDEFINITION, IDXOPTION)
Descrição
Adiciona um índice secundário no banco de dados. Este procedimento armazenado é um wrapper para a instrução DDL CRIAR ÍNDICE.
- IDXTYPE: tipo de índice a ser criado. Por exemplo, transmita UNIQUE para criar um índice exclusivo.
- IDXNAME: nome do índice.
- TABLENAME: nome da tabela no formato schema.name.
- IDXDEFINITION: definição do índice. Não inclua parênteses externos.
- IDXOPTION: qualquer outra opção para transmitir a criação do índice. Por exemplo, no MySQL 8.0, uma opção poderia transmitir INVISIBLE para um índice invisível.
mysql.dropSecondaryIdxOnReplica
Sintaxe
mysql.dropSecondaryIdxOnReplica(IDXNAME, TABLENAME, IDXOPTION)
Descrição
Descarta um índice secundário no banco de dados. Este procedimento armazenado é um wrapper para a instrução DDL DESCARTAR ÍNDICE.
- IDXNAME: nome do índice.
- TABLENAME: nome da tabela no formato schema.name.
- IDXOPTION: qualquer outra opção a ser transmitida ao descartar um índice. Por exemplo, uma opção de algoritmo, como INPLACE.
mysql.skipReplicationError
Sintaxe
mysql.skipReplicationError()
Descrição
Ignora um erro de replicação encontrado durante a replicação do servidor externo e retoma a replicação.
Você só pode executar esse procedimento armazenado se tiver encontrado um erro de replicação e as linhas de execução de E/S e SQL estiverem interrompidas.
Esse procedimento armazenado faz o seguinte:
Determina se a replicação baseada em GTID ou posição do registro binário está sendo usada.
Se a replicação paralela estiver sendo usada, o procedimento armazenado primeiro vai chamar
START_SLAVE_UNTIL_SQL_AFTER_MTS_GAPSouSTART_REPLICA UNTIL_SQL_AFTER_MTS_GAPSpara garantir que não haja lacunas nas transações aplicadas até a transação com falha. Em seguida, o procedimento define temporariamente a configuração de replicação como de uma única linha de execução.Para replicação baseada em posição do registro binário, o procedimento define
SQL_SLAVE_SKIP_COUNTERouSQL_REPLICA_SKIP_COUNTER = 1para ignorar a transação atual.Para a replicação baseada em GTID, o procedimento armazenado determina o GTID da transação com falha atual com base nas informações da variável de status
gtid_executed. Em seguida, o procedimento insere uma transação vazia para preencher esse GTID.Se a replicação paralela tiver sido desativada antes, ela será reativada.
O procedimento armazenado retoma a replicação.
A tabela mysql.skip_replication_error_history registra todas as invocações desse procedimento armazenado.