העברה ל-Cloud SQL מקובץ פיזי של XtraBackup

בדף הזה מוסבר איך להעביר מסד נתונים של MySQL משרת חיצוני ל-Cloud SQL באמצעות קובץ פיזי של Percona XtraBackup for MySQL.

‫Cloud SQL תומך בהעברה של מסדי נתונים של MySQL בשרתים חיצוניים למכונות של Cloud SQL ל-MySQL באמצעות Percona XtraBackup. יוצרים קבצים פיזיים באמצעות כלי השירות XtraBackup ואז מעלים אותם ל-Cloud Storage. שימוש בקבצים פיזיים יכול לשפר את המהירות הכוללת של ההעברה עד פי 10 בהשוואה להעברה רגילה שמבוססת על קובץ dump לוגי.

‫Cloud SQL תומך בהעברה פיזית שמבוססת על קבצים ל-MySQL 5.7 ול-MySQL 8.0. אין תמיכה ב-MySQL 5.6 וב-8.4. אין תמיכה בהעברה ממסדי נתונים של Amazon Aurora או MySQL ב-Amazon RDS. בנוסף, במכונת היעד המשוכפלת ב-Cloud SQL ל-MySQL צריך להתקין את אותה גרסה ראשית של MySQL כמו בשרת החיצוני. עם זאת, העותק המשוכפל של היעד יכול להשתמש בגרסה משנית מאוחרת יותר. לדוגמה, אם מסד הנתונים החיצוני שלכם משתמש ב-MySQL 8.0.31, אז העותק המשוכפל שלכם צריך להיות Cloud SQL ל-MySQL בגרסה 8.0.31 או בגרסה מאוחרת יותר.

לפני שמתחילים

בקטע הזה מוסבר מה צריך לעשות לפני שמבצעים מיגרציה של מסד נתונים של MySQL אל Cloud de Confiance.

הגדרת Cloud de Confiance פרויקט

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Cloud SQL Admin API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. חשוב לוודא שיש לכם את התפקידים Cloud SQL Admin,‏ Storage Admin ו-Compute Viewer בחשבון המשתמש.

    כניסה לדף IAM

הגדרת קטגוריה של Cloud Storage

אם עדיין לא עשיתם זאת, צריך ליצור קטגוריה של Cloud Storage.

התקנה של Cloud de Confiance SDK

כדי להשתמש בפקודות ה-CLI של gcloud בשרת חיצוני, צריך להתקין את Cloud de Confiance ה-SDK.

הכנת השרת החיצוני להעברה

  1. מתקינים אחת מהגרסאות הבאות של כלי XtraBackup בשרת החיצוני.

    ב-MySQL 8.0, צריך להתקין גרסה של XtraBackup ששווה לגרסת שרת המקור או גבוהה ממנה. מידע נוסף זמין במאמר השוואה בין גרסת השרת לגרסת הגיבוי במסמכי התיעוד של Percona XtraBackup.

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

    בנוסף לדרישות לגבי שרת חיצוני לשכפול, יש דרישות נוספות להעברה מקובץ פיזי של XtraBackup:

    • מסד הנתונים של MySQL צריך להיות מסד נתונים מקומי או מסד נתונים של MySQL בניהול עצמי במכונה וירטואלית של Compute Engine. אין תמיכה בהעברה ממסדי נתונים של Amazon Aurora או MySQL ב-Amazon RDS.
    • הפרמטר innodb_page_size במסד הנתונים החיצוני של המקור צריך להיות מוגדר עם ערך ברירת המחדל 16384.
  3. אם עדיין לא הגדרתם חשבון כזה, אתם צריכים ליצור חשבון משתמש לשכפול. תצטרכו את שם המשתמש והסיסמה של חשבון המשתמש הזה.

ביצוע ההעברה

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

יצירה והכנה של הקובץ הפיזי של XtraBackup

  1. בשרת החיצוני, משתמשים ב-XtraBackup כדי לבצע גיבוי מלא של מסד הנתונים של המקור. מידע נוסף על גיבוי מלא זמין במאמר יצירת גיבוי מלא בתיעוד של Percona XtraBackup.

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

    כדי לשפר את הביצועים של תהליך הגיבוי:

    • העתקה של מספר קבצים במקביל במהלך שלב הגיבוי באמצעות ‎--parallel=threads
    • כדי להגדיל את הקצאת הזיכרון במהלך שלב ההכנה, משתמשים ב---use-memory=size

    לדוגמה:

    sudo xtrabackup --backup \
    --target-dir=XTRABACKUP_PATH \
    --user=USERNAME \
    --password=PASSWORD \
    --parallel=THREADS

    מחליפים את המשתנים הבאים:

    • XTRABACKUP_PATH: המיקום של קובץ הגיבוי של הפלט
    • USERNAME: משתמש עם הרשאות BACKUP_ADMIN במסד הנתונים של המקור
    • PASSWORD: הסיסמה של המשתמש
    • THREADS: מספר השרשורים לשימוש בהעתקה של כמה קובצי נתונים בו-זמנית במהלך יצירת גיבוי
  2. משתמשים בכלי XtraBackup כדי להכין את קובץ הגיבוי. הקובץ צריך להיות במצב עקבי. מידע נוסף על הכנת גיבוי מלא זמין במאמר הכנת גיבוי מלא. לדוגמה:

    sudo xtrabackup --prepare --target-dir=XTRABACKUP_PATH \
        --use-memory=MEMORY

    מחליפים את המשתנים הבאים:

    • XTRABACKUP_PATH: המיקום של קובץ הגיבוי של הפלט
    • MEMORY: הזיכרון שהוקצה להכנה. מציינים נפח של 1GB עד 2GB. לקבלת מידע נוסף על האפשרות -use-memory, אפשר לעיין במאמרי העזרה בנושא Percona XtraBackup.

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

העלאת הקובץ הפיזי של XtraBackup ל-Cloud Storage

משתמשים ב-gcloud CLI כדי להעלות את קובץ הגיבוי ל-Cloud Storage.

  gcloud storage rsync XTRABACKUP_PATH CLOUD_STORAGE_BUCKET --recursive
  

מחליפים את XTRABACKUP_PATH במיקום של קובץ הגיבוי של הפלט ואת CLOUD_STORAGE_BUCKET בנתיב של קטגוריה של Cloud Storage.

אין הגבלה על גודל קובצי XtraBackup. עם זאת, יש מגבלה של ‎5TB על הגודל של כל קובץ בודד שאפשר להעלות לקטגוריה של Cloud Storage.

הגדרת מופע של ייצוג המקור

  1. יוצרים קובץ source.json שמגדיר את מופע הייצוג של המקור בשרת החיצוני. מופע של ייצוג מקור מספק מטא-נתונים לשרת החיצוני ב-Cloud SQL.

    בקובץ source.json, צריך לספק את הפרטים הבסיסיים הבאים על השרת החיצוני.

    {
    "name": "SOURCE_NAME",
     "region": "REGION",
     "databaseVersion": "DATABASE_VERSION",
     "onPremisesConfiguration": {
        "hostPort": "SOURCE_HOST:3306",
        "username": "REPLICATION_USER_NAME",
        "password": "REPLICATION_USER_PASSWORD",
        "dumpFilePath": "CLOUD_STORAGE_BUCKET"
        "caCertificate": "SOURCE_CERT",
        "clientCertificate": "CLIENT_CERT",
        "clientKey": "CLIENT_KEY"
      }
    }
    נכס תיאור
    SOURCE_NAME השם של מופע ייצוג המקור שרוצים ליצור.
    REGION האזור שבו רוצים שהמופע של ייצוג המקור ימוקם. מציינים את אותו אזור שבו תיצרו את מופע היעד של העותק המשוכפל ב-Cloud SQL.
    DATABASE_VERSION גרסת מסד הנתונים שפועלת בשרת החיצוני. האפשרויות הנתמכות היחידות הן MYSQL_5_7 או MYSQL_8_0.
    SOURCE_HOST כתובת ה-IPv4 והיציאה של השרת החיצוני או כתובת ה-DNS של השרת החיצוני. אם משתמשים בכתובת DNS, היא יכולה להכיל עד 60 תווים.
    USERNAME חשבון המשתמש של השכפול בשרת החיצוני.
    PASSWORD הסיסמה של חשבון המשתמש לשכפול.
    CLOUD_STORAGE_BUCKET השם של הקטגוריה של Cloud Storage שמכילה את הקובץ הפיזי של XtraBackup.
    CLIENT_CA_CERT אישור CA בשרת החיצוני. צריך לכלול את השורה הזו רק אם נעשה שימוש ב-SSL/TLS בשרת החיצוני.
    CLIENT_CERT אישור הלקוח בשרת החיצוני. נדרש רק עבור אימות שרת-לקוח. צריך לכלול את השורה הזו רק אם נעשה שימוש ב-SSL/TLS בשרת החיצוני.
    CLIENT_KEY קובץ המפתח הפרטי של אישור הלקוח בשרת החיצוני. נדרש רק עבור אימות שרת-לקוח. צריך לכלול את ההגדרה רק אם נעשה שימוש ב-SSL/TLS בשרת החיצוני.
  2. יוצרים את מופע הייצוג של המקור על ידי שליחת בקשה אל Cloud SQL Admin API באמצעות הפקודה curl הבאה. בנתונים של הבקשה, מציינים את קובץ source.json שיצרתם.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
        --header 'Content-Type: application/json' \
        --data @./source.json \
        -X POST \
    https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
    נכס תיאור
    PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.

זיהוי מופע יעד של העתק

יוצרים קובץ שמזהה את העותק המשוכפל של היעד ב-Cloud SQL לצורך ההעברה. אפשר להעביר נתונים למופע חדש על ידי יצירת רפליקה, או להשתמש במופע קיים של Cloud SQL על ידי הורדת רמת הרפליקה.

אפשרות 1: יצירת מכונת העתקה

  1. כדי ליצור מופע העתקה, משתמשים בקובץ replica.json מהדוגמה הבאה:

    {
    "name": "REPLICA_NAME",
    "region": "REGION",
    "databaseVersion": "DB_VERSION",
    "settings": {
       "tier": "INSTANCE_TIER",
       "dataDiskSizeGb": "DISK_SIZE_GB",
       "edition": "EDITION_NAME"
    },
    "masterInstanceName": "SOURCE_NAME"
    }
    מאפיין (property) תיאור
    REPLICA_NAME השם של העותק המשוכפל של Cloud SQL שרוצים ליצור.
    REGION מציינים את אותו אזור שהקציתם למופע של ייצוג המקור.
    DATABASE_VERSION גרסת מסד הנתונים לשימוש עם העותק המשוכפל של Cloud SQL. האפשרויות לגרסה הזו הן MYSQL_5_7 או MYSQL_8_0. גרסת המסד הראשית הזו צריכה להיות זהה לגרסת המסד שהגדרתם לשרת החיצוני. אפשר גם לציין גרסה משנית, אבל היא צריכה להיות זהה לגרסה שמותקנת בשרת החיצוני או גרסה מאוחרת יותר. רשימת המחרוזות שזמינות ל-MySQL מופיעה במאמר בנושא SqlDatabaseVersion.
    INSTANCE_TIER סוג המכונה שתארח את מופע הרפליקה. צריך לציין סוג מכונה שתואם למהדורה של המופע ולסוג הארכיטקטורה של השרת החיצוני. לדוגמה, אם בוחרים באפשרות ENTERPRISE_PLUS בשדה edition, צריך לציין סוג מכונה שעבר אופטימיזציה לביצועי מסד נתונים. רשימה של סוגי מכונות נתמכים זמינה במאמר סוגי מכונות.
    DISK_SIZE_GB גודל האחסון של העותק המשוכפל של Cloud SQL, ב-GB.
    EDITION_NAME מהדורת Cloud SQL שבה יש להשתמש בשביל העותק המשוכפל. הערכים האפשריים הם ENTERPRISE_PLUS (רק ב-MySQL 8.0) או ENTERPRISE.
    SOURCE_NAME השם שהקציתם למופע של ייצוג המקור.
  2. יוצרים את מופע הרפליקה של היעד על ידי שליחת בקשה ל-Cloud SQL Admin API באמצעות הפקודה הבאה curl. בנתונים של הבקשה, מציינים את קובץ ה-JSON שיצרתם.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
        --header 'Content-Type: application/json' \
        --data @./replica.json \
        -X POST \
    https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
    נכס תיאור
    PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.

אפשרות 2: שימוש במופע משוכפל קיים

  1. מוודאים שלמופע המשוכפל הקיים יש את המאפיינים הבאים:

    • סוג ארכיטקטורה זהה (x86 או ARM) כמו בשרת החיצוני.
    • לפחות נפח אחסון פנוי בדיסק ששווה לנפח של הקבצים הפיזיים שהעליתם לקטגוריה של Cloud Storage. במכונה צריך להיות מספיק מקום בדיסק כדי להוריד את אותה כמות נתונים מ-Cloud Storage.
  2. כדי להשתמש במופע משוכפל קיים, משתמשים בקובץ replica.json לדוגמה הבא:

    {
    "demoteContext": {
        "sourceRepresentativeInstanceName": "SOURCE_NAME"
      }
    }
    מאפיין (property) תיאור
    SOURCE_NAME השם שהקציתם למופע של ייצוג המקור.
  3. מורידים את הרמה של מופע הרפליקה הקיים לטירגוט על ידי שליחת בקשה ל-demote Cloud SQL Admin API באמצעות הפקודה curl הבאה. בנתונים של הבקשה, מציינים את קובץ ה-JSON שיצרתם.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
        --header 'Content-Type: application/json' \
        --data @./replica.json \
        -X POST \
    https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/EXISTING_INSTANCE_ID/demote
    נכס תיאור
    PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.
    EXISTING_INSTANCE_ID המזהה של מופע הרפליקה הקיים שרוצים להשתמש בו להעברה.

אימות הגדרות ההעברה

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

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
             "syncMode": "SYNC_MODE",
             "skipVerification": false,
             "migrationType": "PHYSICAL"
               }' \
     -X POST \
https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/verifyExternalSyncSettings
נכס תיאור
SYNC_MODE מציינים offline כדי להגדיר את ההעברה כתהליך חד-פעמי. כדי להגדיר שכפול רציף מהשרת החיצוני, מציינים online.
PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.
REPLICA_NAME השם שהקציתם למופע המשוכפל של היעד.

בתגובה הראשונית, שלב האימות הזה מחזיר חשבון שירות. כדי להמשיך בתהליך ההעברה, צריך לתת לחשבון השירות הזה הרשאות ל-Cloud Storage. הודעת השגיאה 'אין מספיק הרשאות' צפויה. דוגמה לתגובה:

{
    "kind": "sql#externalSyncSettingError",
    "type": "INSUFFICIENT_GCS_PERMISSIONS",
    "detail": "Service account
              p703314288590-df3om0@my-project.s3ns.iam.gserviceaccount.com
              is missing necessary permissions storage.objects.list and
              storage.objects.get to access Google Cloud Storage bucket"
}

הוספת הרשאות Cloud Storage לחשבון השירות שמוחזר

כדי להוסיף את ההרשאות הנדרשות:

  1. במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. לוחצים על הכרטיסייה Permissions.

  3. לוחצים על הענקת גישה.

  4. בשדה New principals, מקלידים את השם של חשבון השירות שמופיע בתגובת האימות. לדוגמה, בפלט לדוגמה של השלב הקודם, שם חשבון השירות שמוחזר הוא p703314288590-df3om0@my-project.s3ns.iam.gserviceaccount.com.

  5. בתפריט הנפתח Select a role (בחירת תפקיד), בוחרים בתפקיד Storage Object Viewer.

  6. לוחצים על Save.

הפעלת האימות מחדש

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

בשלב האימות נבדקים הדברים הבאים:

  • יש קישוריות בין העותק המשוכפל של Cloud SQL לבין השרת החיצוני, אבל רק אם ההעברה מתבצעת באופן רציף
  • הרשאות המשתמש לשכפול מספיקות
  • הגרסאות תואמות
  • השכפול של העותק המשוכפל ב-Cloud SQL לא מתבצע כבר
  • הפעלת binlog בשרת חיצוני

אם מזוהות בעיות, Cloud SQL מחזיר הודעת שגיאה.

הוספת משתמשים לרפליקה של Cloud SQL

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

התחלת ההעברה

אחרי שתשלימו את תהליך האימות ולא יוחזרו שגיאות, תוכלו להתחיל בהעברה. כדי להעביר את השרת החיצוני, משתמשים ב-API‏ startExternalSync.

משתמשים בפקודה הבאה:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
               "syncMode": "SYNC_MODE",
               "skipVerification": false,
               "migrationType": "PHYSICAL"
              }' \
     -X POST \
https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/startExternalSync
נכס תיאור
SYNC_MODE מציינים offline כדי להגדיר את ההעברה כתהליך חד-פעמי. כדי להגדיר שכפול רציף מהשרת החיצוני, מציינים online.
PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.
REPLICA_NAME השם שהקציתם למופע המשוכפל של היעד.

מעקב אחרי ההעברה

כדי לבדוק את סטטוס ההעברה:

  1. מאחזרים את מזהה הפעולה של משימת ההעברה מהתגובה של startExternalSync API. לדוגמה:

    {
    "kind": "sql#operation",
     "targetLink": "https://sqladmin.googleapis.com/v1/projects/my-project/instances/replica-instance",
     "status": "PENDING",
     "user": "user@example.com",
     "insertTime": "******",
     "operationType": "START_EXTERNAL_SYNC",
     "name": "******",
     "targetId": "replica-instance",
     "selfLink": "https://sqladmin.googleapis.com/v1/projects/my-project/operations/OPERATION_ID",
     "targetProject": "my-project"
    }
    
  2. משתמשים במזהה הפעולה בפקודה הבאה.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
        --header 'Content-Type: application/json' \
        -X GET \
    https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/START_EXTERNAL_SYNC_OPERATION_ID
    נכס תיאור
    PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.
    START_EXTERNAL_SYNC_OPERATION_ID מזהה הפעולה של משימת ההעברה.

מעקב אחר השכפול

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

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

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

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

מגבלות

בקטע הזה מפורטות המגבלות של תהליך המיגרציה של XtraBackup:

  • חובה להשתמש ב-Percona XtraBackup כדי לגבות את הנתונים לקטגוריה ב-Cloud Storage. אין תמיכה בכלי גיבוי אחרים.
  • אין תמיכה בהעברה לגרסאות קודמות של מסד נתונים, בין אם מדובר בגרסה ראשית או משנית. לדוגמה, אי אפשר לבצע מיגרציה מ-MySQL 8.0 ל-5.7 או מ-MySQL 8.0.36 ל-8.0.16.
  • העברת מסד נתונים מקובץ פיזי של XtraBackup נתמכת רק במסדי נתונים של MySQL בתשתית מקומית או במסדי נתונים של MySQL בניהול עצמי שפועלים במכונה וירטואלית ב-Compute Engine. אין תמיכה בהעברה ממסדי נתונים של Amazon Aurora או MySQL ב-Amazon RDS.
  • אפשר לבצע העברה רק מגיבוי מלא. אין תמיכה בסוגים אחרים של גיבויים, כמו גיבויים מצטברים או חלקיים.
  • העברת מסד הנתונים לא כוללת משתמשים או הרשאות במסד הנתונים.
  • צריך להגדיר את הפורמט של יומן הרישום הבינארי ל-ROW. אם מגדירים את יומן הרישום הבינארי לפורמט אחר, כמו STATEMENT או MIXED, יכול להיות שהשכפול ייכשל.
  • ב-Cloud Storage, הגודל המקסימלי של קובץ שאפשר להעלות לקטגוריה הוא ‎5 TB.
  • אי אפשר להעביר פלאגינים ממסד הנתונים החיצוני.
  • אם הגדרתם זמינות גבוהה למופע, הסכם SLA לא חל עד לסיום השלב הראשוני של ההעברה. השלב הזה נחשב להשלמה כשהייבוא של כל הנתונים מהקבצים הפיזיים של XtraBackup למכונת Cloud SQL מסתיים.
  • אי אפשר לבצע מיגרציה אל מסד נתונים של MySQL 8.4 או ממנו.
  • אין תמיכה בהעברת מסדי נתונים בין מכונות עם סוגי ארכיטקטורה שונים. לדוגמה, אי אפשר להעביר מסד נתונים של MySQL שמתארח במכונה עם ארכיטקטורת ARM למכונה עם ארכיטקטורת x86.

פתרון בעיות

בקטע הזה מפורטים תרחישים נפוצים לפתרון בעיות.

הייבוא נכשל

אם מופיעה הודעת שגיאה דומה ל-Attempt 1/2: import failed כשמבצעים העברה, צריך לציין PHYSICAL בשביל migrationType כשמתחילים את ההעברה.

אם לא מציינים migrationType, ברירת המחדל של הסוג היא LOGICAL.

ביטול או הפסקה של העברה

אם אתם צריכים לבטל או להפסיק העברה, אתם יכולים להריץ את הפקודה הבאה:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
    -X POST \
https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/restart
נכס תיאור
PROJECT_ID המזהה של הפרויקט ב- Cloud de Confiance.
REPLICA_NAME השם שהקציתם למופע המשוכפל של היעד.

המאמרים הבאים