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

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

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

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

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

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

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

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

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

ייבוא נתונים ל-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. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Import.
  4. בקטע פורמט קובץ, בוחרים באפשרות SQL.
  5. בקטע Select source file, מזינים את הנתיב לקטגוריה ולקובץ ה-SQL dump שרוצים להשתמש בו לייבוא, מעיינים בקובץ קיים או מעלים קובץ מקומי.

    אפשר לייבא קובץ דחוס (.gz) או קובץ לא דחוס (.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 כדי להקצות לחשבון השירות את תפקיד IAM ‏storage.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. נותנים למכונה את תפקיד ה-IAM של הקטגוריה storage.objectAdmin. במאמר שימוש בהרשאות 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 שהגדרתם קודם, אתם יכולים להסיר אותן עכשיו.

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