שדרוג הגרסה המשנית של מסד נתונים ב-MySQL 8.0

‫Cloud SQL ל-MySQL תומך בכמה גרסאות משניות של MySQL 8.0 ומקצה מכונות של MySQL 8.0 בגרסה המשנית שמוגדרת כברירת מחדל, שהיא גרסה משנית אחת לפני הגרסה המשנית העדכנית ביותר.

בכל גרסה משנית חדשה, ספקי מסדי נתונים מפרסמים תכונות חדשות, תיקוני אבטחה, תיקוני באגים ושיפורים בביצועים.

אי אפשר לבצע שדרוג לאחור ב-MySQL 8.0.

שדרוג אוטומטי

‫Cloud SQL תומך בשדרוג אוטומטי של גרסאות משניות במכונות Cloud SQL ל-MySQL 8.0 שפועלות בגרסה MySQL 8.0.35 ואילך.

כשמופעל שדרוג אוטומטי של גרסה משנית, מכונה של Cloud SQL ל-MySQL 8.0 משודרגת אוטומטית לגרסת ברירת המחדל המשנית של Cloud SQL ל-MySQL 8.0 במהלך עדכון התחזוקה המתוזמן הרגיל. כבר לא צריך לבצע שדרוגים של גרסאות משניות באופן ידני כדי שהמכונה של Cloud SQL ל-MySQL תהיה מעודכנת עם תיקוני האבטחה ותיקוני הבאגים העדכניים שפורסמו על ידי קהילת MySQL.

שדרוג אוטומטי של גרסה משנית מתבצע רק במהלך אירועי תחזוקה שמתוזמנים באופן קבוע, ולא במהלך תחזוקה בשירות עצמי.

הפעלת שדרוג אוטומטי למופעים חדשים

כשיוצרים מכונה חדשה של Cloud SQL ל-MySQL 8.0, כדאי לשים לב לנקודות הבאות בנוגע לשדרוגים אוטומטיים של גרסאות משניות:

  • אם יוצרים מכונה חדשה של Cloud SQL ל-MySQL 8.0 בלי לבחור גרסה משנית, שדרוג אוטומטי של גרסה משנית מופעל במכונה כברירת מחדל.

  • אם יוצרים מכונה של Cloud SQL ל-MySQL 8.0 ובוחרים גרסה משנית של 8.0.35 או גרסה מאוחרת יותר, אפשר להפעיל שדרוג אוטומטי של גרסה משנית במהלך היצירה.

  • אם יוצרים מכונה של Cloud SQL ל-MySQL 8.0 ובוחרים גרסה משנית של 8.0.34 או גרסה קודמת, אי אפשר להפעיל שדרוג אוטומטי של גרסה משנית. צריך לבצע שדרוג ידני של גרסה משנית של המכונה.

הפעלה של שדרוג אוטומטי למופעים קיימים

אם כבר התקנתם במכונה הקיימת את Cloud SQL ל-MySQL 8.0.35 או גרסה מאוחרת יותר, תוכלו להפעיל שדרוג אוטומטי של גרסה משנית במכונה.

כדי להפעיל שדרוגים אוטומטיים במכונת MySQL 8.0 קיימת, פועלים לפי השלבים הבאים. התהליך הזה לא משדרג את המופע. המופע יקבל שדרוגים אוטומטיים של גרסאות משניות במהלך אירוע התחזוקה המתוזמן הבא.

המסוף

כדי להפעיל שדרוגים אוטומטיים של MySQL 8.0 במכונה קיימת:

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע התאמה אישית של המופע, בוחרים באפשרות הפעלת שדרוגים אוטומטיים של גרסאות משניות.
  5. לוחצים על Save.

gcloud

כדי להפעיל שדרוגים אוטומטיים של MySQL 8.0 במכונה קיימת:

  1. מריצים את הפקודה הבאה:
  2. gcloud sql instances patch INSTANCE_NAME \
       --enable-auto-upgrade-minor-version
      

    מחליפים את INSTANCE_NAME בשם המכונה.

  3. מריצים את הפקודה הבאה כדי לבדוק את המטא-נתונים של המופע:
  4. gcloud sql instances describe INSTANCE_NAME
      

    מחליפים את INSTANCE_NAME בשם המכונה.

    בפלט, מחפשים את השדה DatabaseType ומוודאים שהערך עודכן ל-MYSQL_8_0.

בדיקה אם שדרוג משני אוטומטי מופעל

כדי לבדוק אם השדרוג האוטומטי של גרסאות משניות מופעל במופע, מריצים את הפקודה הבאה:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID

מחליפים את INSTANCE_NAME בשם המכונה ואת PROJECT_ID במזהה הפרויקט של המכונה. בפלט של הפקודה, מאתרים את השדות הבאים.

  • databaseVersion: הערך חייב להיות MYSQL_8_0
  • databaseInstalledVersion: הערך צריך להיות גרסה משנית ששווה ל-MYSQL_8_0_35 או גדולה ממנה

שדרוג ידני

בקטע הזה מוסבר איך לשדרג ידנית את הגרסה המשנית של מכונה עם Cloud SQL ל-MySQL 8.0. אם אתם מריצים גרסה 8.0.34 או גרסה קודמת של Cloud SQL ל-MySQL, אתם צריכים לשדרג את הגרסה המשנית של Cloud SQL ל-MySQL באופן ידני.

לפני שמשדרגים לגרסה משנית חדשה של MySQL 8.0, חשוב להכיר את השינויים. הערות המוצר של MySQL 8.0 אם אתם משתמשים ב-Cloud SQL ל-MySQL 5.6 או 5.7, ‏ Cloud SQL מנהל באופן אוטומטי את הגרסה המשנית של המכונה. כשמקצים מכונה חדשה, Cloud SQL מגדיר אותה באופן אוטומטי עם הגרסה העדכנית ביותר של מסד הנתונים שזמינה. במהלך תחזוקה שגרתית, Cloud SQL משדרג באופן אוטומטי את המכונה לגרסה העדכנית הנתמכת.

כדי לשדרג את הגרסה המשנית של מסד הנתונים במכונה עם MySQL 8.0, צריך לעדכן את המכונה לגרסה המשנית המועדפת, שחייבת להיות גבוהה מהגרסה המשנית המותקנת. אי אפשר לחזור לגרסה משנית לא מוגדרת אחרי הקצאת מופע.

אם אתם מריצים מופע של Cloud SQL Enterprise Plus, השדרוג של הגרסה המשנית מתבצע עם זמן השבתה כמעט אפסי.

לפני שמשדרגים באופן ידני

‫Cloud SQL תומך בשדרוג גרסה משנית למכונות MySQL 8.0. ב-MySQL 8.0 אי אפשר לבצע שדרוג לאחור. לכן, לפני שמשדרגים את המופע הראשי, חשוב לפעול לפי השלבים הבאים כדי לוודא שהנתונים מאובטחים.

  1. בוחרים את גרסת המשנה של מסד הנתונים.

    gcloud

    במאמר התקנת ה-CLI של gcloud מוסבר איך להתקין את ה-CLI של gcloud ולהתחיל להשתמש בו. מידע על הפעלת Cloud Shell זמין במאמר בנושא שימוש ב-Cloud Shell.

    כדי לבדוק אילו גרסאות משניות של מסד הנתונים זמינות לשדרוג במקום, מבצעים את הפעולות הבאות:

    1. מריצים את הפקודה הבאה.
    2. gcloud sql instances describe INSTANCE_NAME
         

      מחליפים את INSTANCE_NAME בשם המכונה.

    3. בפלט של הפקודה, מאתרים את הקטע שמסומן בתווית upgradableDatabaseVersions.
    4. כל קטע משנה מחזיר גרסה של מסד נתונים שזמינה לשדרוג. בכל סעיף משנה, בודקים את השדה הבא.
      • name: מחרוזת גרסת מסד הנתונים שכוללת את הגרסה הראשית והמשנית של מסד הנתונים, שאפשר להגדיר כגרסת היעד לשדרוג במקום של גרסה משנית של Cloud SQL ל-MySQL.

    REST v1

    כדי לבדוק אילו גרסאות משניות של מסד הנתונים זמינות לשדרוג במקום, משתמשים בשיטה instances.get של Cloud SQL Admin API.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • INSTANCE_NAME: שם המכונה.

    ה-method של ה-HTTP וכתובת ה-URL:

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

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

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

    REST v1beta4

    כדי לבדוק אילו גרסאות משניות של מסד הנתונים זמינות לשדרוג במקום, משתמשים בשיטה instances.get של Cloud SQL Admin API.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • INSTANCE_NAME: שם המכונה.

    ה-method של ה-HTTP וכתובת ה-URL:

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

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

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

    רשימה מלאה של גרסאות מסדי הנתונים שנתמכות ב-Cloud SQL זמינה במאמר בנושא גרסאות מסדי נתונים ומדיניות גרסאות.

  2. בודקים את השדרוג בסביבת Staging.

    1. יוצרים שיבוט של מכונת הייצור שתשמש כמכונת ביניים. כך נוצר מופע חדש של מסד נתונים, עם אותן גרסאות ראשיות ומשניות.

    2. מבצעים שדרוג של גרסה משנית במכונת הסטייג'ינג.

    3. מריצים בדיקות של עומסי עבודה כדי לוודא שהשדרוג בוצע בהצלחה ושהאפליקציה פועלת כמצופה. אם הבדיקה הצליחה, ממשיכים לשדרוג של מופעי העותק לקריאה.

  3. משדרגים את המכונות של הרפליקות לקריאה.

    1. משדרגים את כל העותקים לקריאה במסד הנתונים לגרסת המשנה של היעד.

    2. מוודאים שהאפליקציה פועלת כמצופה.

  4. מגבים את המופע הראשי.

    כמו בכל עדכון משמעותי של מסד נתונים, כדאי ליצור גיבוי של המופע הראשי.

שדרוג הגרסה המשנית

אפשר לציין את גרסת המשנה של מסד נתונים של מופע קיים באמצעות gcloud או API בארכיטקטורת REST. מבצעים שדרוגים של גרסאות משניות בזמן שמסד הנתונים לא נמצא בשימוש. אם נדרשת הפעלה מחדש של המופע, כתוצאה מכך תהיה השבתה זמנית של המופע. מכונות במהדורת Cloud SQL Enterprise Plus נהנות מזמן השבתה כמעט אפסי. אם הגרסה המותקנת גבוהה מהגרסה המבוקשת, הבקשה נדחית.

gcloud

משתמשים בפקודה gcloud sql instances patch עם הדגל --database-version.

לפני שמריצים את הפקודה, מחליפים את המשתנים הבאים:

  • INSTANCE_NAME: השם של המכונה.
  • DATABASE_VERSION: גרסת מסד הנתונים של המכונה. אם לא מציינים את הדגל הזה, המערכת משתמשת בגרסה הראשית שמוגדרת כברירת מחדל.
gcloud sql instances patch INSTANCE_NAME \
   --database-version=DATABASE_VERSION

REST v1

משתמשים בבקשת PATCH עם השיטה instances:patch והדגל databaseVersion.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • INSTANCE_ID: מזהה המכונה
  • DATABASE_VERSION: גרסת מסד הנתונים שאליה רוצים לשדרג.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

{
  "databaseVersion": "DATABASE_VERSION"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "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

משתמשים בבקשת PATCH עם השיטה instances:patch והדגל databaseVersion.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • INSTANCE_ID: מזהה המכונה
  • DATABASE_VERSION: גרסת מסד הנתונים שאליה רוצים לשדרג.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

{
  "databaseVersion": "DATABASE_VERSION"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "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"
}

בדיקת הגרסה המשנית המותקנת של מסד הנתונים

כשצופים בפרטי הסיכום של המופע, גרסת המשנה של מסד הנתונים שמותקנת מופיעה בקטע Configuration.

חזרה לגרסה קודמת אחרי שדרוג

במהלך בדיקת השדרוג, אם מזהים בעיה, יכול להיות שתרצו לבטל את השדרוג של מסד הנתונים כדי לשחזר את מופע מסד הנתונים שבו פועלת הגרסה המשנית הקודמת.

כדי לשחזר גיבוי שנוצר לפני השדרוג:

  1. הקצאת מופע של מסד נתונים לשחזור בגרסה המשנית הקודמת.
  2. מגדירים את ההגדרות במופע של מסד הנתונים לשחזור למצב שלפני השדרוג.
  3. משחזרים את הגיבוי שנוצר לפני השדרוג למופע השחזור.

אפשרות נוספת במקום לשחזר גיבוי היא לבצע שחזור מערכת מנקודה מסוימת בזמן וליצור מופע חדש.