שכפול משרת חיצוני (גרסה 1)

בדף הזה מוסבר איך ליצור הגדרה שמשכפלת נתונים משרת מסד נתונים של מקור למכונות שכפול של MySQL.

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

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

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

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

  • 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

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

  • מפעילים את Cloud SQL Admin API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  • מתקינים ומאמתים את ה-CLI של gcloud.
  • מוודאים שהשרת עומד בדרישות של שרת מסד הנתונים של המקור.
  • קובעים את רמת האבטחה הנדרשת לחיבורים בין המופע הראשי לבין העותק המשוכפל, ומשיגים את קובצי האישורים הנדרשים.
  • מחליטים באיזה Cloud de Confiance אזור רוצים להשתמש כדי להכיל את העותק המשוכפל של Cloud SQL.
  • מכינים את המידע הנדרש על שרת מסד הנתונים של המקור:

    • כתובת IPv4 חיצונית ומספר יציאה

      כברירת מחדל, MySQL משתמש ביציאה 3306.

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

    צריך להשלים את השלב הזה תוך 30 דקות ממועד יצירת העותק.

  • אם אתם לא בעלי הפרויקט, אתם צריכים לקבל את התפקיד Storage Admin.

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

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

תהליך ההגדרה

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

  1. יצירת קטגוריה של Cloud Storage לנתונים.
  2. ייצוא הנתונים ל-Cloud Storage.
  3. הגדרת השכפול
  4. מגדירים את שרת מסד הנתונים של המקור כך שיקבל חיבורים מהעותק.

  5. הגבלת הגישה למשתמש השכפול של MySQL.

  6. איך מסיימים את ההגדרה של העותק

  7. מאשרים את סטטוס השכפול.

  8. פינוי נפח אחסון

1. יצירת קטגוריה של Cloud Storage לנתונים

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

מידע נוסף על יצירת קטגוריה זמין במאמר יצירת קטגוריות ב-Storage. מידע נוסף על התפקיד 'אדמין אחסון' זמין במאמר תפקידי IAM ב-Cloud Storage.

2. ייצוא הנתונים ל-Cloud Storage

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

ממכונה שמותקן בה ה-CLI של gcloud ושמחוברת לרשת של שרת MySQL, מריצים את הפקודה הבאה:

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://[BUCKET]/[PATH_TO_DUMP]

If the source of the migration is a Relational Database Service (RDS) for MySQL,
the master-data flag is not supported and should not be specified.
This command might look like the following example:

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://[BUCKET]/[PATH_TO_DUMP]

Additionally, you should configure RDS instances to retain binlogs for a
a longer period of time.
This command might look like the following example:

// Sets the retention period to one day.
call mysql.rds_set_configuration('binlog retention hours', 24);

מחליפים את [PROPERTIES_IN_BRACKETS] בערכים הבאים:

מאפיין (property) ערך
[PRIMARY_INSTANCE_IP] כתובת ה-IPv4 של שרת מסד הנתונים של המקור.
[PRIMARY_INSTANCE_PORT] היציאה של שרת מסד הנתונים של המקור.
[USERNAME] חשבון המשתמש לשכפול ב-MySQL.
[PASSWORD] הסיסמה של חשבון המשתמש בשכפול MySQL.
[DBS] רשימה של כל מסדי הנתונים בשרת מסד הנתונים של המקור, למעט מסדי הנתונים של המערכת (sys, ‏ mysql, ‏ performance_schema ו-information_schema), עם רווחים בין השמות. אפשר להשתמש בפקודה SHOW DATABASES MySQL כדי להציג את מסדי הנתונים.
[BUCKET] שם הקטגוריה שיצרתם כדי לאחסן את קובץ הייצוא.
[PATH_TO_DUMP] הנתיב לקובץ הייצוא.

אם מוצגת אזהרה לגבי פריקות חלקיות ומזהי GTID, זה צפוי.

הפקודה עשויה להיראות כמו בדוגמה הבאה:

mysqldump \
    -h 192.0.2.1 -P 3306 -u replicationUser \
    --databases guestbook  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://export-bucket/hq-primary1.sql.gz

3. יצירת הגדרת השכפול

אם העותק משתמש בכתובת IP פרטית, צריך להגדיר את שרת מסד הנתונים של המקור כך שתהיה לו גישה ל-VPC של העותק. יצירת רפליקות ב-VPC פרטי נתמכת רק באמצעות ה-CLI של gcloud ו-Cloud SQL Admin API.

המסוף

בשלב הזה נוצרת רפליקה של Cloud SQL ומכונת ייצוג המקור.

  1. פותחים את רשימת המופעים של Cloud SQL במסוף Cloud de Confiance .

    פתיחת רשימת המופעים

  2. לוחצים על העברת נתונים בסרגל הלחצנים כדי לפתוח את Cloud SQL Migration Assistant.

  3. לוחצים על התחלת ההעברה.

  4. בשדה Source database name, מציינים שם להגדרת השכפול ב-Cloud SQL.

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

  5. מזינים את כתובת ה-IP ואת מספר היציאה של שרת מסד הנתונים של המקור.

  6. מציינים את שם המשתמש והסיסמה של משתמש MySQL שישמש לחיבור השכפול.

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

  8. אם אתם משתמשים ב-SSL/TLS לחיבור בין העותק לבין שרת מסד הנתונים של המקור (מומלץ), בוחרים באפשרות הפעלת אבטחת SSL/TLS ומזינים את פרטי אישור ה-SSL/TLS של שרת המקור.

    למידע נוסף על אפשרויות SSL/TLS, אפשר לעיין במאמר בנושא אפשרויות SSL/TLS.

  9. לוחצים על הבא וממלאים את הפרטים של העותק.

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

  10. מציינים את הנתיב לקובץ ה-dump שהעליתם קודם ל-Cloud Storage.

  11. לוחצים על Create (יצירה) כדי ליצור את העותק.

  12. לוחצים על הבא.

gcloud

  1. יוצרים את המופע של ייצוג המקור.

    gcloud beta sql instances create [REPLICA_NAME] \
        --region=[REGION] --database-version=[MYSQL_VERSION] \
        --source-ip-address=[SOURCE_IP] --source-port=[SOURCE_PORT]
    

    אם העותק המשוכפל משתמש בכתובת IP פרטית, מוסיפים גם את הפרמטר הבא: ‎--network=[VPC_NETWORK_NAME]‎

    מחליפים את [PROPERTIES_IN_BRACKETS] בערכים הבאים:

    מאפיין (property) ערך
    [SOURCE_REPRESENTATION_NAME] השם של מופע ייצוג המקור. אפשר להשתמש בכל שם תקין של מופע Cloud SQL.
    [REGION] האזור שבו רוצים שהרפליקות של Cloud SQL יהיו.
    [MYSQL_VERSION] גרסת MySQL שפועלת בשרת מסד הנתונים של המקור: MYSQL_5_6 או MYSQL_5_7.
    [SOURCE_IP] כתובת ה-IPv4 שאפשר לגשת אליה מבחוץ של שרת מסד הנתונים של המקור.
    [SOURCE_PORT] היציאה שאפשר לגשת אליה חיצונית לשרת מסד הנתונים של המקור.
  2. יוצרים את העותק המשוכפל של Cloud SQL:

    gcloud beta sql instances create [REPLICA_NAME] \
        --master-instance-name=[SOURCE_REPRESENTATION_NAME] \
        --master-username=[USERNAME] --prompt-for-master-password \
        --master-dump-file-path=gs://[BUCKET]/[PATH_TO_DUMP] \
        --master-ca-certificate-path=[SOURCE_SERVER_CA_PATH] \
        --client-certificate-path=[CLIENT_CERT_PATH] \
        --client-key-path=[PRIVATE_KEY_PATH] \
        --tier=[MACHINE_TYPE] --storage-size=[DISK_SIZE]
    

    אם העותק המשוכפל משתמש בכתובת IP פרטית, מוסיפים גם את הפרמטר הבא: ‎--network=[VPC_NETWORK_NAME]‎

    מחליפים את [PROPERTIES_IN_BRACKETS] בערכים הבאים:

    מאפיין (property) ערך
    [REPLICA_NAME] השם של העותק לקריאה ב-Cloud SQL. אפשר להשתמש בכל שם תקין של מופע Cloud SQL.
    [SOURCE_REPRESENTATION_NAME] השם של מופע ייצוג המקור שיצרתם בשלב הקודם.
    [USERNAME] חשבון המשתמש לשכפול MySQL בשרת מסד הנתונים של המקור.
    [BUCKET] שם הקטגוריה שיצרתם כדי לאחסן את קובץ הייצוא.
    [PATH_TO_DUMP] הנתיב לקובץ הייצוא.
    [SOURCE_SERVER_CA_PATH] הנתיב המקומי שבו מאוחסן אישור ה-CA של שרת מסד הנתונים של המקור. נדרש רק ל-SSL/TLS.
    [CLIENT_CERT_PATH] הנתיב המקומי שבו מאוחסן אישור הלקוח. נדרש רק לאימות שרת-לקוח.
    [PRIVATE_KEY_PATH] הנתיב המקומי שבו מאוחסן קובץ המפתח הפרטי של אישור הלקוח. נדרש רק לאימות שרת-לקוח.
    [MACHINE_TYPE] הגודל של העותק. בדרך כלל, העותק זהה בגודלו לשרת מסד הנתונים של המקור. אם אתם לא בטוחים באיזה סוג מכונה כדאי להשתמש, כדאי להתחיל עם db-custom-2-7680. אם צריך, אפשר לשנות את הגודל שלו בהמשך.
    [DISK_SIZE] גודל האחסון של העותק המשוכפל, ב-GB. כדי להשיג את הביצועים הכי טובים, צריך ליצור את העותק עם מספיק אחסון כדי להכיל את כל קובץ הייבוא.
    [VPC_NETWORK_NAME] VPC בפורמט: projects/[PROJECT_ID]/global/networks/[NETWORK_NAME]

cURL

1. יצירת מופע ייצוג המקור ב-Cloud SQL

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "[SOURCE_REPRESENTATION_NAME]",
         "region": "[REGION]",
         "databaseVersion": "[MYSQL_VERSION]",
         "onPremisesConfiguration": {
             "hostPort": "[SOURCE_SERVER_IP]:[SOURCE_SERVER_PORT]"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

מחליפים את [PROPERTIES_IN_BRACKETS] בערכים הבאים:

מאפיין (property) ערך
[SOURCE_REPRESENTATION_NAME] השם של מופע ייצוג המקור. אפשר להשתמש בכל שם תקין של מופע Cloud SQL.
[REGION] האזור שבו רוצים שהרפליקות של Cloud SQL יהיו.
[MYSQL_VERSION] גרסת MySQL שפועלת בשרת מסד הנתונים של המקור: MYSQL_5_6 או MYSQL_5_7.
[SOURCE_SERVER_IP] כתובת ה-IPv4 שאפשר לגשת אליה מבחוץ של שרת מסד הנתונים של המקור.
[SOURCE_SERVER_PORT] היציאה שאפשר לגשת אליה חיצונית לשרת מסד הנתונים של המקור.
[PROJECT_ID] מזהה הפרויקט של הפרויקט Cloud de Confiance .

לדוגמה, כדי ליצור מופע ייצוג של מקור בשם hq-primary1, לשרת מסד נתונים של מקור עם כתובת ה-IP‏ 192.0.2.0 שפתוח ביציאה 3306, ופועל בו MySQL 5.7, עבור רפליקות של Cloud SQL בפרויקט MyProject ובאזור us-central1, משתמשים בפקודות הבאות:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "hq-primary1",
         "region": "us-central1",
         "databaseVersion": "MYSQL_5_7",
         "onPremisesConfiguration": {
             "hostPort": "192.0.2.0:3306"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

2. יצירת העתק ב-Cloud SQL

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

מכיוון שהקריאה הזו ל-API מחייבת לספק מידע רגיש, משתמשים בקובץ JSON כדי לספק את הנתונים ל-cURL, במקום לספק אותם בשורת הפקודה.

יוצרים את קובץ הנתונים:

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "[USERNAME]",
            "password": "[PASSWORD]",
            "dumpFilePath": "gs://[BUCKET]/[PATH_TO_DUMP]",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
     },
     "settings": {
         "tier": "[MACHINE_TYPE]",
         "dataDiskSizeGb": "[DISK_SIZE]"
     },
     "masterInstanceName": "[SOURCE_REPRESENTATION_NAME]",
     "region": "[REGION]",
     "databaseVersion": "[MYSQL_VERSION]",
     "name": "[REPLICA_NAME]"
}

אם העותק משתמש בכתובת IP פרטית, צריך להוסיף להגדרות גם את: ‎"ipConfiguration.privateNetwork" עם הערך בפורמט: ‎"projects/[PROJECT_ID]/global/networks/[NETWORK_NAME]"

מחליפים את [PROPERTIES_IN_BRACKETS] בערכים הבאים:

מאפיין (property) ערך
[USERNAME] חשבון המשתמש לשכפול MySQL בשרת מסד הנתונים של המקור.
[PASSWORD] הסיסמה של חשבון המשתמש בשכפול MySQL.
[BUCKET] שם הקטגוריה שיצרתם כדי לאחסן את קובץ הייצוא.
[PATH_TO_DUMP] הנתיב לקובץ הייצוא.
[SOURCE_SERVER_CA] אישור ה-CA של שרת מסד הנתונים של המקור. נדרש רק ל-SSL/TLS. מדביקים את האישור בגוף הבקשה.
[CLIENT_CERT] אישור הלקוח. נדרש רק לאימות שרת-לקוח. מדביקים את האישור בגוף הבקשה.
[PRIVATE_KEY] קובץ המפתח הפרטי של אישור הלקוח. נדרש רק לאימות שרת-לקוח. מדביקים את המפתח בגוף הבקשה.
[MACHINE_TYPE] הגודל של העותק המשוכפל. בדרך כלל, העותק זהה בגודלו לשרת מסד הנתונים של המקור. אם אתם לא בטוחים באיזה סוג מכונה כדאי להשתמש, כדאי להתחיל עם db-custom-2-7680. אם צריך, אפשר לשנות את הגודל שלו בהמשך.
[DISK_SIZE] גודל האחסון של העותק המשוכפל, ב-GB. כדי לקבל את הביצועים הטובים ביותר, צריך ליצור את העותק עם מספיק נפח אחסון כדי להכיל את כל הייבוא.
[SOURCE_REPRESENTATION_NAME] השם של מופע ייצוג המקור שיצרתם קודם.
[REGION] האזור שבו יצרתם את מופע ייצוג המקור. העותקים לקריאה צריכים להיות באותו אזור שבו נמצא מופע הייצוג של המקור.
[MYSQL_VERSION] גרסת MySQL שפועלת בשרת מסד הנתונים של המקור: MYSQL_5_6 או MYSQL_5_7.
[REPLICA_NAME] השם של העותק לקריאה ב-Cloud SQL. אפשר להשתמש בכל שם תקין של מופע Cloud SQL.

בשורת הפקודה, קוראים ל-API:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data @[PATH_TO_DATA_FILE] \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

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

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "replicationUser",
            "password": "486#@%*@",
            "dumpFilePath": "gs://export-bucket/hq-primary1.sql.gz",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
    },
    "settings": {
        "tier": "db-custom-4-15360",
        "dataDiskSizeGb": "100"
    },
    "masterInstanceName": "hq-primary1",
    "region": "us-central1",
    "databaseVersion": "MYSQL_5_7",
    "name": "hq-primary1-replica1"
}

פקודת ה-cURL תיראה כך:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data @./data.json
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

כשלרפליקה לקריאה יש גישה לקובץ ה-dump, היא מתחילה את תהליך הייבוא. משך תהליך הייבוא תלוי בגודל קובץ ה-dump, בסוג המכונה של העותק ובסכימת מסד הנתונים. ככלל, צפוי שההעתק ישלים ייבוא של כ-25-50GB לשעה.

העותק יישאר במצב PENDING_CREATE עד שתהליך הייבוא יסתיים, ואז הוא ישתנה למצב RUNNABLE.

4. הגדרת שרת מסד הנתונים של המקור כך שיקבל חיבורים מהעותק

העותק צריך להתחבר לשרת של מסד הנתונים המקורי כדי שהשכפול יצליח. אם שרת מסד הנתונים של המקור נמצא מאחורי חומת אש או הגבלה אחרת ברשת, צריך להפעיל גישה לרשת עבור העותק, באמצעות OUTGOING כתובת ה-IP של העותק. שימו לב שזו לא כתובת ה-IP שמוצגת ברשימה הראשית של העותק במסוף Cloud de Confiance . כדי לאחזר את כתובת ה-IP שלכם, אפשר להעביר את העכבר מעל תיאור הכלי מידע נוסף של כתובת ה-IP, או להשתמש בפקודה gcloud שבהמשך.OUTGOING

  1. מאחזרים את כתובות ה-IP של העותק לקריאה:

    gcloud sql instances describe [REPLICA_NAME] --format="default(ipAddresses)"
  2. אם צריך, מגדירים את חומת האש של הרשת כדי ששרת מסד הנתונים של המקור יקבל חיבורים מכתובת ה-IP‏ OUTGOING.
  3. מוודאים שהרפליקה התחברה בהצלחה לשרת של מסד הנתונים המקורי.

    1. הסמל של העותק בדף רשימת המופעים לא מסתובב יותר והוא ירוק.
    2. נכנסים אל Logs Viewer במסוף Cloud de Confiance .

      כניסה לדף Logs Viewer

    3. בוחרים את העותק המשוכפל מהתפריט הנפתח Instance (מופע).
    4. בוחרים את replication-setup.log קובץ היומן.

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

      • חומת האש בשרת מסד הנתונים של המקור מוגדרת כך שהיא מאפשרת חיבורים מכתובת ה-IP של העותק המשוכפל OUTGOING.
      • הגדרת ה-SSL/TLS שלכם נכונה.
      • המשתמש, המארח והסיסמה של השכפול נכונים.

5. הגבלת הגישה למשתמש השכפול של MySQL

השלב הזה הוא אופציונלי, אבל מומלץ לביצוע מטעמי אבטחה.

משתמש השכפול של MySQL בשרת מסד הנתונים של המקור מוגדר לקבל חיבורים מכל מארח (%). צריך לעדכן את חשבון המשתמש הזה כך שיקבל חיבורים רק מכתובת ה-IP של הרפליקה OUTGOING:

    UPDATE mysql.user SET Host='[OUTGOING_IP]' WHERE Host='%' AND User='[USERNAME]';
    FLUSH PRIVILEGES;

6. סיום הגדרת העותק

  1. מגדירים חשבון משתמש בעותק המשוכפל.

    אפשר לעשות את זה באמצעות המסוף Cloud de Confiance , כלי ה-CLI של gcloud או Cloud SQL API. עם זאת, אי אפשר להשתמש בלקוח mysql. מידע נוסף על משתמשי MySQL זמין במאמר משתמשי MySQL.

    כדי ליצור משתמש באמצעות מסוף Cloud de Confiance :

    1. נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
      כניסה לדף Cloud SQL Instances
    2. לוחצים על שם המופע כדי לפתוח את הדף פרטי המופע.
    3. לוחצים על הכרטיסייה משתמשים.
    4. לוחצים על יצירת חשבון משתמש.
    5. בתיבת הדו-שיח יצירת חשבון משתמש, מציינים את הפרטים של המשתמש.
    6. לוחצים על יצירה.
  2. מאשרים גישה לרפליקה מכל לקוח שמתכננים להשתמש בו כדי להתחבר לרפליקה באמצעות כתובות IP ציבוריות.

    הוראות מפורטות זמינות במאמר בנושא הוספת כתובת או טווח כתובות מורשים. כדי להתחבר לרפליקה, משתמשים בכתובת ה-IP של הרפליקה PRIMARY. כתובת ה-IP הזו מוצגת במסוף Cloud de Confiance .

    אפשר גם להשתמש בכל שיטת חיבור אחרת כדי להתחבר לרפליקה.

7. אישור סטטוס הרפליקציה

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

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

‫8. (אופציונלי) קידום הרפליקה למופע עצמאי

אחרי שבודקים את סטטוס הרפליקציה, אם רוצים להחליף לחלוטין את שרת מסד הנתונים של המקור ב-Cloud SQL (כלומר לבצע 'העברה'), צריך לקדם את העותק כדי שיהפוך למופע עצמאי ראשי. אחרי שהעותק הופך למופע הראשי, הוא כבר לא מחובר לשרת של מסד הנתונים המקורי.

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

‫9. פינוי מקום באחסון

  1. מחיקת קובץ הייצוא:

    gcloud storage rm gs://[BUCKET]/[PATH_TO_DUMP]
    
  2. אם אין יותר צורך בקטגוריה, מוחקים אותה:

    gcloud storage rm gs://[BUCKET] --recursive
    

מידע נוסף זמין במאמרי העזרה בנושא Cloud Storage בנושאים מחיקת אובייקטים ומחיקת דליים.

עדכון ההגדרות

כדי לעדכן את הגדרות התצורה מאוחר יותר, אפשר לערוך את מופע ייצוג המקור. אם אתם צריכים לעדכן את הגדרות השרתים המקומיים, שימו לב שאי אפשר לעדכן את hostPort ואת type.

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