ייצוא וייבוא באמצעות קובצי SQL מוכנים לשימוש

בדף הזה מוסבר איך לייצא ולייבא נתונים למכונות Cloud SQL באמצעות קובצי SQL dump.

אין תמיכה בייצוא מ-Cloud SQL לקובץ SQL מוכן לשימוש ב-SQL Server.

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

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

שיטות מומלצות מפורטות במאמר שיטות מומלצות לייבוא וייצוא נתונים.

אחרי שמסיימים פעולת ייבוא, צריך לאמת את התוצאות.

ייצוא נתונים מ-Cloud SQL ל-SQL Server

אין תמיכה בייצוא מ-Cloud SQL לקובץ SQL מוכן לשימוש ב-SQL Server.

ייבוא נתונים אל Cloud SQL ל-SQL Server

תפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-SQL Server

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

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

  • תפקיד IAM‏ storage.objectAdmin
  • תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
    • storage.objects.get
    • storage.objects.list (לייבוא עם פסים בלבד)

למידע נוסף על תפקידים ב-IAM, אפשר לעיין במאמר ניהול זהויות והרשאות גישה.

ייבוא קובץ SQL מוכן לשימוש אל Cloud SQL ל-SQL Server

קובצי SQL הם קובצי טקסט פשוט עם רצף של פקודות SQL.

בתהליך הבא, נכין את הנתונים כדי לציין מסד נתונים קיים שממנו נרצה לייבא את קובצי ה-SQL.

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Import.
  4. בקטע Choose the file you'd like to import data from (בחירת הקובץ שממנו רוצים לייבא נתונים), מזינים את הנתיב לקובץ SQL מוכן לשימוש ולמאגר (bucket) שרוצים להשתמש בהם לייבוא, מעיינים בקובץ קיים או מעלים קובץ מקומי.

    אפשר לייבא קובץ דחוס (.gz) או קובץ לא דחוס (.sql).

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

    כתוצאה מכך, Cloud SQL מריץ את ההצהרה USE DATABASE לפני הייבוא.

  7. אם רוצים לציין משתמש שיבצע את הייבוא, בוחרים את המשתמש.

    אם קובץ הייבוא מכיל הצהרות שצריכות להתבצע על ידי משתמש ספציפי, צריך להשתמש בשדה הזה כדי לציין את המשתמש.

  8. לוחצים על ייבוא כדי להתחיל בייבוא.

gcloud

  1. יוצרים קטגוריה של Cloud Storage.
  2. מעלים את הקובץ לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.

  3. מתארים את המופע שאליו מייבאים:
    gcloud sql instances describe INSTANCE_NAME
  4. מעתיקים את השדה serviceAccountEmailAddress.
  5. משתמשים ב-gcloud storage buckets add-iam-policy-binding כדי להקצות לחשבון השירות את תפקיד IAMstorage.objectAdmin בדלי.
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
      --member=serviceAccount:SERVICE-ACCOUNT \
      --role=roles/storage.objectAdmin
      
    במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  6. מייבאים את מסד הנתונים:
    gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/IMPORT_FILE_NAME \
    --database=DATABASE_NAME

    מידע על השימוש בפקודה import sql זמין בדף העזרה של הפקודה sql import sql.

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

  7. אם אין לכם צורך לשמור את הרשאות ה-IAM שהגדרתם קודם, אתם יכולים להסיר אותן באמצעות gcloud storage buckets remove-iam-policy-binding.

REST v1

  1. יוצרים קטגוריה של Cloud Storage.
  2. מעלים את הקובץ לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.

  3. נותנים למופע את תפקידי ה-IAM storage.objectAdmin ו-objectViewer לקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  4. מייבאים את קובץ ה-dump:

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

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • bucket_name: שם הקטגוריה של Cloud Storage
    • path_to_sql_file: הנתיב לקובץ ה-SQL
    • database_name: השם של מסד נתונים בתוך מכונת Cloud SQL

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

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import

    תוכן בקשת JSON:

    {
     "importContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_sql_file",
          "database": "database_name"
        }
    }
    
    

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

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

    רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף instances:import.
  5. אם אין לכם צורך לשמור את הרשאות ה-IAM שהגדרתם קודם, אתם יכולים להסיר אותן עכשיו.

REST v1beta4

  1. יוצרים קטגוריה של Cloud Storage.
  2. מעלים את הקובץ לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.

  3. נותנים למופע את storage.objectAdmin תפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  4. מייבאים את קובץ ה-dump:

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

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • bucket_name: שם הקטגוריה של Cloud Storage
    • path_to_sql_file: הנתיב לקובץ ה-SQL
    • database_name: השם של מסד נתונים בתוך מכונת Cloud SQL

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

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import

    תוכן בקשת JSON:

    {
     "importContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_sql_file",
          "database": "database_name"
        }
    }
    
    

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

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

    רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף instances:import.
  5. אם אין לכם צורך לשמור את הרשאות ה-IAM שהגדרתם קודם, אתם יכולים להסיר אותן עכשיו.

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