Bagian ini menjelaskan prosedur yang tersimpan untuk instance Cloud SQL.
Prosedur tersimpan berisi kode SQL yang dapat Anda gunakan kembali.
Untuk menjalankan prosedur tersimpan, gunakan perintah CALL dan ganti variabel berikut:
- procedure_name adalah nama prosedur yang disimpan.
CALL procedure_name(parameters);
Untuk membuat prosedur tersimpan, lihat BUAT PROSEDUR dan pernyataan BUAT FUNGSI.
Cloud SQL tidak mendukung pernyataan CREATE FUNCTION. Untuk mengetahui informasi selengkapnya, baca Fitur MySQL yang tidak didukung untuk Cloud SQL.
mysql.addSecondaryIdxOnReplica
mysql.addSecondaryIdxOnReplica
Sintaks
mysql.addSecondaryIdxOnReplica(IDXTYPE, IDXNAME, TABLENAME, IDXDEFINITION, IDXOPTION)
Deskripsi
Tambahkan indeks sekunder pada database. Prosedur tersimpan ini adalah wrapper untuk pernyataan DDL CREATE INDEX.
- IDXTYPE – Jenis indeks yang akan dibuat. Contoh, gunakan UNIQUE untuk membuat indeks unik.
- IDXNAME – Nama indeks.
- TABLENAME – Nama tabel dalam format schema.name.
- IDXDEFINITION – Definisi indeks. Jangan sertakan tanda kurung bagian luar.
- IDXOPTION – Semua opsi tambahan yang akan digunakan pada pembuatan indeks. Misalnya, di MySQL 8.0, sebuah opsi dapat menggunakan INVISIBLE untuk indeks tak terlihat.
mysql.dropSecondaryIdxOnReplica
Sintaks
mysql.dropSecondaryIdxOnReplica(IDXNAME, TABLENAME, IDXOPTION)
Deskripsi
Letakkan indeks sekunder pada database. Prosedur tersimpan ini adalah wrapper untuk pernyataan DDL DROP INDEX.
- IDXNAME – Nama indeks.
- TABLENAME – Nama tabel dalam format schema.name.
- IDXOPTION – Semua opsi tambahan yang akan digunakan saat menurunkan indeks. Misalnya, opsi algoritma seperti INPLACE.
mysql.skipReplicationError
Sintaksis
mysql.skipReplicationError()
Deskripsi
Melewati error replikasi yang terjadi selama replikasi server eksternal lalu melanjutkan replikasi.
Anda dapat menjalankan prosedur tersimpan ini hanya jika Anda mengalami error replikasi dan thread I/O dan SQL dihentikan.
Prosedur tersimpan ini melakukan hal berikut:
Menentukan apakah replikasi berbasis GTID atau posisi log biner sedang digunakan.
Jika replikasi paralel digunakan, prosedur tersimpan akan memanggil
START_SLAVE_UNTIL_SQL_AFTER_MTS_GAPSatauSTART_REPLICA UNTIL_SQL_AFTER_MTS_GAPSterlebih dahulu untuk memastikan tidak ada kesenjangan dalam transaksi yang diterapkan hingga transaksi yang gagal. Kemudian, prosedur ini akan menyetel konfigurasi replikasi ke single-threaded untuk sementara.Untuk replikasi berbasis posisi log biner, prosedur ini menetapkan
SQL_SLAVE_SKIP_COUNTERatauSQL_REPLICA_SKIP_COUNTER = 1untuk melewati transaksi saat ini.Untuk replikasi berbasis GTID, prosedur tersimpan menentukan GTID transaksi saat ini yang gagal berdasarkan informasi dalam variabel status
gtid_executed. Kemudian, prosedur akan menyisipkan transaksi kosong untuk mengisi kembali GTID tersebut.Jika replikasi paralel sebelumnya dinonaktifkan, maka replikasi paralel akan diaktifkan kembali.
Prosedur tersimpan melanjutkan replikasi.
Tabel mysql.skip_replication_error_history mencatat semua pemanggilan
prosedur tersimpan ini.
Langkah berikutnya
- Pelajari cara tambahkan dan letakkan indeks pada replika baca Cloud SQL.