Mengupgrade versi minor database MySQL 8.0

Cloud SQL untuk MySQL mendukung beberapa versi minor MySQL 8.0 dan menyediakan instance MySQL 8.0 pada versi minor default, yang merupakan satu versi minor lebih awal dari versi minor terbaru.

Dalam setiap versi minor baru, penyedia database merilis fitur, patch keamanan, perbaikan bug, dan peningkatan performa baru.

MySQL 8.0 tidak mendukung downgrade.

Mengupgrade secara otomatis

Cloud SQL mendukung upgrade versi minor otomatis untuk instance Cloud SQL for MySQL 8.0 yang tidak terikat ke versi minor tertentu. Instance harus menjalankan MySQL versi 8.0.35 atau yang lebih baru.

Jika instance Anda diaktifkan untuk upgrade versi minor otomatis, instance Cloud SQL untuk MySQL 8.0 akan diupgrade secara otomatis ke versi minor default Cloud SQL untuk MySQL 8.0 selama update pemeliharaan terjadwal reguler. Anda tidak lagi diwajibkan untuk melakukan upgrade versi minor secara manual agar instance Cloud SQL untuk MySQL Anda tetap diupdate dengan patch keamanan dan perbaikan bug terbaru yang dirilis oleh komunitas MySQL.

Memeriksa pengaktifan upgrade minor otomatis

Untuk memeriksa apakah instance Anda diaktifkan untuk upgrade versi minor otomatis, jalankan perintah berikut:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID

Ganti INSTANCE_NAME dengan nama instance dan PROJECT_ID dengan project ID instance. Di output perintah, temukan kolom berikut.

  • databaseVersion: nilainya harus MYSQL_8_0
  • databaseInstalledVersion: nilai harus berupa versi minor yang sama dengan atau lebih besar dari MYSQL_8_0_35

Mengupgrade secara manual

Bagian ini menjelaskan cara mengupgrade versi minor instance Cloud SQL untuk MySQL 8.0 secara manual. Jika Anda menjalankan Cloud SQL untuk MySQL versi 8.0.34 atau yang lebih lama, Anda harus mengupgrade versi minor Cloud SQL untuk MySQL secara manual.

Sebelum mengupgrade ke MySQL 8.0 versi minor baru, pahami perubahannya. Lihat Catatan Rilis MySQL 8.0. Jika Anda menggunakan Cloud SQL untuk MySQL 5.6 atau 5.7, Cloud SQL akan otomatis mengelola versi minor instance Anda. Saat Anda menyediakan instance baru, Cloud SQL akan otomatis mengonfigurasi instance dengan versi database terbaru yang tersedia. Selama pemeliharaan rutin, Cloud SQL akan otomatis mengupgrade instance Anda ke versi terbaru yang didukung.

Untuk mengupgrade versi minor database dari instance MySQL 8.0, Anda harus mengupdate instance dengan versi minor pilihan Anda, yang harus lebih besar daripada versi minor yang terinstal. Anda tidak dapat mengembalikan ke versi minor yang tidak ditentukan setelah instance disediakan.

Jika Anda menjalankan instance edisi Cloud SQL Enterprise Plus, upgrade versi minor akan selesai dengan periode nonaktif mendekati nol.

Sebelum mengupgrade secara manual

Cloud SQL mendukung upgrade versi minor untuk instance MySQL 8.0. MySQL 8.0 tidak mengizinkan downgrade. Jadi, sebelum mengupgrade instance utama, ikuti langkah-langkah berikut untuk memastikan keamanan data Anda.

  1. Pilih versi minor target database.

    gcloud

    Untuk mengetahui informasi tentang menginstal dan memulai gcloud CLI, lihat Menginstal gcloud CLI. Untuk mengetahui informasi tentang cara memulai Cloud Shell, lihat Menggunakan Cloud Shell.

    Untuk memeriksa versi minor database yang tersedia untuk upgrade di tempat, lakukan hal berikut:

    1. Jalankan perintah berikut.
    2. gcloud sql instances describe INSTANCE_NAME
         

      Ganti INSTANCE_NAME dengan nama instance.

    3. Di output perintah, temukan bagian yang diberi label upgradableDatabaseVersions.
    4. Setiap subbagian menampilkan versi database yang tersedia untuk diupgrade. Di setiap subbagian, tinjau kolom berikut.
      • name: string versi database yang mencakup versi utama dan versi minor database yang dapat Anda targetkan untuk upgrade di tempat versi minor Cloud SQL for MySQL.

    REST v1

    Untuk memeriksa versi minor database yang tersedia untuk upgrade di tempat, gunakan metode instances.get Cloud SQL Admin API.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • INSTANCE_NAME: Nama instance.

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON seperti berikut:

    
    upgradableDatabaseVersions:
    
    {
      major_version: "MYSQL_8_0"
      name: "MYSQL_8_0_36"
      display_name: "MySQL 8.0.36"
    }
    
    

    REST v1beta4

    Untuk memeriksa versi minor database yang tersedia untuk upgrade di tempat, gunakan metode instances.get Cloud SQL Admin API.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • INSTANCE_NAME: Nama instance.

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan melihat respons JSON seperti berikut:

    
    upgradableDatabaseVersions:
    
    {
      major_version: "MYSQL_8_0"
      name: "MYSQL_8_0_36"
      display_name: "MySQL 8.0.36"
    }
    
    

    Untuk mengetahui daftar lengkap versi database yang didukung Cloud SQL, lihat Kebijakan versi dan versi database.

  2. Uji upgrade Anda di lingkungan staging.

    1. Buat clone instance produksi Anda untuk berfungsi sebagai instance staging. Tindakan ini akan membuat instance database baru, dengan versi utama dan minor yang sama.

    2. Melakukan upgrade versi minor pada instance staging.

    3. Jalankan pengujian beban kerja untuk memverifikasi bahwa upgrade berhasil dan aplikasi Anda berperforma seperti yang diharapkan. Setelah pengujian berhasil, lanjutkan untuk mengupgrade instance replika baca Anda.

  3. Upgrade instance replika baca Anda.

    1. Upgrade semua replika baca dalam database ke versi minor target.

    2. Verifikasi bahwa aplikasi Anda berfungsi seperti yang diharapkan.

  4. Cadangkan instance utama Anda.

    Seperti halnya update database yang signifikan, cadangkan instance utama Anda.

Mengupgrade versi minor

Anda dapat menentukan versi minor database dari instance yang ada dengan menggunakan gcloud atau REST API. Melakukan upgrade versi minor pada saat database tidak digunakan. Jika instance Anda perlu dimulai ulang, maka instance Anda akan mengalami periode nonaktif. Instance edisi Cloud SQL Enterprise Plus mengalami periode nonaktif nyaris nol. Jika versi yang diinstal lebih tinggi daripada versi yang diminta, permintaan akan ditolak.

gcloud

Gunakan perintah gcloud sql instances patch dengan flag --database-version.

Ganti variabel berikut sebelum menjalankan perintah:

  • INSTANCE_NAME: Nama instance.
  • DATABASE_VERSION: Versi database dari instance. Jika Anda tidak menentukan flag ini, versi utama default akan digunakan.
gcloud sql instances patch INSTANCE_NAME \
   --database-version=DATABASE_VERSION

REST v1

Gunakan permintaan PATCH dengan metode instances:patch dan flag databaseVersion.

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • PROJECT_ID: ID project
  • INSTANCE_ID: ID instance
  • DATABASE_VERSION: Versi database yang akan diupgrade.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "databaseVersion": "DATABASE_VERSION"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Gunakan permintaan PATCH dengan metode instances:patch dan flag databaseVersion.

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • PROJECT_ID: ID project
  • INSTANCE_ID: ID instance
  • DATABASE_VERSION: Versi database yang akan diupgrade.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "databaseVersion": "DATABASE_VERSION"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang serupa seperti di bawah ini:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT_ID"
}

Memeriksa versi minor database yang diinstal

Saat Anda melihat informasi ringkasan instance, versi minor database yang diinstal dapat dilihat di bagian Konfigurasi.

Me-roll back upgrade

Saat menguji upgrade, jika menemukan masalah, Anda mungkin ingin melakukan roll back database untuk memulihkan instance database yang menjalankan versi minor sebelumnya.

Untuk memulihkan cadangan yang belum diupgrade, selesaikan langkah-langkah berikut:

  1. Menyediakan instance database pemulihan pada versi minor sebelumnya.
  2. Konfigurasikan setelan pada instance database pemulihan ke status belum diupgrade.
  3. Pulihkan cadangan belum diupgrade yang Anda ambil ke instance pemulihan.

Sebagai alternatif untuk memulihkan cadangan, lakukan pemulihan point-in-time dan buat instance baru.