Questa sezione descrive le stored procedure per le istanze Cloud SQL.
Una stored procedure contiene codice SQL che puoi riutilizzare.
Per eseguire una stored procedure, utilizza il comando CALL e sostituisci la variabile seguente:
- procedure_name è il nome della stored procedure.
CALL procedure_name(parameters);
Per creare una stored procedure, consulta Istruzioni CREATE PROCEDURE e CREATE FUNCTION.
Cloud SQL non supporta l'istruzione CREATE FUNCTION. Per saperne di più,
consulta Funzionalità MySQL non supportate per Cloud SQL.
mysql.addSecondaryIdxOnReplica
mysql.addSecondaryIdxOnReplica
Sintassi
mysql.addSecondaryIdxOnReplica(IDXTYPE, IDXNAME, TABLENAME, IDXDEFINITION, IDXOPTION)
Descrizione
Aggiunge un indice secondario al database. Questa stored procedure è un wrapper per l'istruzione DDL CREATE INDEX.
- IDXTYPE: tipo di indice da creare. Ad esempio, passa UNIQUE per creare un indice univoco.
- IDXNAME: il nome dell'indice.
- TABLENAME: nome della tabella nel formato schema.name.
- IDXDEFINITION: definizione dell'indice. Non includere le parentesi esterne.
- IDXOPTION: eventuali opzioni aggiuntive da trasmettere alla creazione dell'indice. Ad esempio, in MySQL 8.0, un'opzione potrebbe passare INVISIBLE per un indice invisibile.
mysql.dropSecondaryIdxOnReplica
Sintassi
mysql.dropSecondaryIdxOnReplica(IDXNAME, TABLENAME, IDXOPTION)
Descrizione
Elimina un indice secondario nel database. Questa stored procedure è un wrapper per l'istruzione DDL DROP INDEX.
- IDXNAME: il nome dell'indice.
- TABLENAME: nome della tabella nel formato schema.name.
- IDXOPTION: eventuali opzioni aggiuntive da passare quando viene eliminato un indice. Ad esempio, un'opzione dell'algoritmo come INPLACE.
mysql.skipReplicationError
Sintassi
mysql.skipReplicationError()
Descrizione
Ignora un errore di replica rilevato durante la replica del server esterno e poi riprende la replica.
Puoi eseguire questa stored procedure solo se si è verificato un errore di replica e i thread I/O e SQL sono arrestati.
Questa stored procedure esegue le seguenti operazioni:
Determina se viene utilizzata la replica basata su GTID o sulla posizione del log binario.
Se viene utilizzata la replica parallela, la stored procedure chiama prima
START_SLAVE_UNTIL_SQL_AFTER_MTS_GAPSoSTART_REPLICA UNTIL_SQL_AFTER_MTS_GAPSper assicurarsi che non ci siano lacune nelle transazioni applicate fino alla transazione non riuscita. La procedura imposta temporaneamente la configurazione della replica su single-threaded.Per la replica basata sulla posizione del log binario, la procedura imposta
SQL_SLAVE_SKIP_COUNTERoSQL_REPLICA_SKIP_COUNTER = 1per ignorare la transazione corrente.Per la replica basata su GTID, la stored procedure determina il GTID della transazione non riuscita corrente in base alle informazioni nella variabile di stato
gtid_executed. La procedura inserisce quindi una transazione vuota per riempire il GTID.Se la replica parallela era stata disattivata in precedenza, viene riattivata.
La stored procedure riprende la replica.
La tabella mysql.skip_replication_error_history registra tutte le chiamate di questa stored procedure.