MySQL

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

גרסאות נתמכות

‫MySQL מגרסה 5.0 עד 8.0

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

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

  • בפרויקט שלכם ב-Google Cloud:
    • מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
    • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
    • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

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

    • מפעילים את השירותים הבאים:
      • ‫secretmanager.googleapis.com (Secret Manager API)
      • ‫connectors.googleapis.com (Connectors API)

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

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

הגדרת המחבר

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

  1. לוחצים על +יצירת חדש כדי לפתוח את הדף יצירת חיבור.
  2. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. ברשימה אזור, בוחרים את האזור שבו רוצים ליצור את החיבור.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  3. בקטע פרטי החיבור, מזינים את הפרטים הבאים:
    1. ברשימה מחבר, בוחרים באפשרות MySQL.
    2. ברשימה Connector version (גרסת המחבר), בוחרים את גרסת המחבר.
    3. בשדה Connection Name, מזינים שם למופע החיבור.

      השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:

      • אפשר להשתמש באותיות, במספרים או במקפים.
      • האותיות צריכות להיות קטנות.
      • השמות צריכים להתחיל באות ולהסתיים באות או במספר.
      • השמות לא יכולים להכיל יותר מ-49 תווים.
    4. אופציונלי: בשדה Description, מוסיפים תיאור של מופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging.
    6. מהרשימה Service Account, בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    7. בשדה שם מסד הנתונים, מזינים את השם של מסד הנתונים של MySQL.
    8. אופציונלי: מגדירים את ההגדרות של צומת החיבור:

      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

      צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.

    9. (אופציונלי) בקטע הגדרות מתקדמות, מסמנים את התיבה שימוש ב-proxy כדי להגדיר שרת proxy לחיבור, ומגדירים את הערכים הבאים:
      • סכימת אימות של שרת proxy: בוחרים את סוג האימות לאימות מול שרת ה-proxy. אלה סוגי האימות שנתמכים:
        • בסיסי: אימות HTTP בסיסי.
        • ‫Digest: אימות HTTP מסוג Digest.
      • משתמש proxy: שם משתמש שישמש לאימות בשרת ה-proxy.
      • סיסמת ה-Proxy: הסוד במנהל הסודות של סיסמת המשתמש.
      • סוג ה-SSL של ה-Proxy: סוג ה-SSL שבו יש להשתמש כשמתחברים לשרת ה-Proxy. אלה סוגי האימות שנתמכים:
        • אוטומטי: הגדרת ברירת המחדל. אם כתובת ה-URL היא כתובת HTTPS, נעשה שימוש באפשרות Tunnel. אם כתובת ה-URL היא כתובת HTTP, נעשה שימוש באפשרות NEVER.
        • תמיד: החיבור תמיד מופעל באמצעות SSL.
        • לעולם לא: החיבור לא מופעל באמצעות SSL.
        • מנהור: החיבור הוא דרך שרת proxy למנהור. שרת ה-proxy פותח חיבור למארח המרוחק, והתנועה זורמת הלוך ושוב דרך ה-proxy.
      • בקטע שרת Proxy, מזינים את פרטי שרת ה-Proxy.
        1. לוחצים על + הוספת יעד.
        2. בוחרים סוג יעד.
          • כתובת המארח: מציינים את שם המארח או את כתובת ה-IP של היעד.

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

    10. אופציונלי: כדי להוסיף תווית לקישור, לוחצים על +הוספת תווית.
    11. לוחצים על הבא.
    12. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
      • מהרשימה סוג היעד בוחרים כתובת של מארח.
        • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
        • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

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

        כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.

      • לוחצים על הבא.
    13. בקטע Authentication (אימות), אפשר לספק פרטי כניסה:
      • בשדה שם משתמש, מזינים את שם המשתמש של MySQL לחיבור.
      • בשדה Password (סיסמה), מזינים את הסוד של Secret Manager שמכיל את הסיסמה שמשויכת לשם המשתמש ב-MySQL.
        • אם יצרתם בעבר סוד והוא לא מופיע ברשימה, בוחרים באפשרות Enter Secret Manually (הזנת סוד באופן ידני). בתיבת הדו-שיח Add a secret by resource ID (הוספת סוד לפי מזהה משאב), מעתיקים את מזהה המשאב מ-Secret Manager ומדביקים אותו.
          • כדי להשתמש בגרסה האחרונה, מעתיקים ומדביקים את מזהה המשאב מהסוד הראשי, בפורמט: "projects/project-number/secrets/secret-name"
          • כדי לבחור גרסה ספציפית, מעתיקים ומדביקים את מזהה המשאב של הגרסה הספציפית הזו, בפורמט "projects/project-number/secrets/secret-name/versions/1"

          כדי להוסיף את הסוד, לוחצים על Add Secret (הוספת סוד).

        • אם לא יצרתם סוד לשימוש עם MySQL, לוחצים על Create New Secret (יצירת סוד חדש). בתיבת הדו-שיח Create Secret, מזינים את הפרטים הבאים:
          • בשדה Name, מזינים את שם הסוד.
          • בשדה Secret value, מזינים את התוכן של הסוד או מעלים קובץ שמכיל את הסוד.
          • לוחצים על Create Secret (יצירת סוד).
      • ברשימה Secret version, בוחרים את הגרסה של סוד Password מתוך רשימת הגרסאות הזמינות בתפריט הנפתח.
      • לוחצים על הבא.
  4. בקטע בדיקה, בודקים את פרטי החיבור והאימות.
  5. לוחצים על יצירה.

ישויות, פעולות ופעולות

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

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

    עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה Entities תהיה ריקה.

  • פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:

    בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה Operations.

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

מגבלות המערכת

מחבר MySQL יכול לעבד 10 עסקאות בשנייה, לכל צומת, ומגביל עסקאות מעבר למגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.

מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.

סוגי נתונים נתמכים

אלה סוגי הנתונים הנתמכים במחבר הזה:

  • BIGINT
  • BINARY
  • BIT
  • בוליאני
  • CHAR
  • תאריך
  • DECIMAL
  • DOUBLE
  • FLOAT
  • מספר שלם
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • שעות
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

יצירת חיבורים באמצעות Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

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

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

שם הפרמטר סוג נתונים חובה תיאור
database_name מחרוזת נכון השם של מסד הנתונים של Mysql שאליו רוצים להתחבר.
proxy_enabled בוליאני לא נכון מסמנים את תיבת הסימון הזו כדי להגדיר שרת Proxy לחיבור.
proxy_auth_scheme ENUM לא נכון סוג האימות שבו יש להשתמש כדי לבצע אימות לשרת ה-proxy‏ ProxyServer. הערכים הנתמכים הם: BASIC, ‏ DIGEST, ‏ NONE
proxy_user מחרוזת לא נכון שם משתמש שישמש לאימות בשרת ה-proxy ‏ProxyServer.
proxy_password SECRET לא נכון סיסמה שתשמש לאימות בשרת ה-proxy‏ ProxyServer.
proxy_ssltype ENUM לא נכון סוג ה-SSL שבו צריך להשתמש כשמתחברים לשרת ה-proxy של ProxyServer. הערכים הנתמכים הם: AUTO, ‏ ALWAYS, ‏ NEVER, ‏ TUNNEL

פעולות

המחבר הזה תומך בביצוע הפעולות הבאות:

  • פונקציות ותהליכים מאוחסנים שמוגדרים על ידי המשתמש. אם יש לכם פרוצדורות מאוחסנות ופונקציות בקצה העורפי, הן מפורטות בעמודה Actions של תיבת הדו-שיח Configure connector task.
  • שאילתות SQL בהתאמה אישית. כדי להריץ שאילתות SQL מותאמות אישית, המחבר מספק את הפעולה Execute custom query (הרצת שאילתה מותאמת אישית).

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

    1. פועלים לפי ההוראות המפורטות ל הוספת משימה של מחברים.
    2. כשמגדירים את משימת המחבר, בוחרים באפשרות פעולות בסוג הפעולה שרוצים לבצע.
    3. ברשימה Action, בוחרים באפשרות Execute custom query ולוחצים על Done.

      תמונה שמציגה את הפעולה execute-custom-query-action תמונה שמציגה את הפעולה execute-custom-query-action

    4. מרחיבים את הקטע Task input (קלט למשימה) ומבצעים את הפעולות הבאות:
      1. בשדה Timeout after, מזינים את מספר השניות להמתנה עד להפעלת השאילתה.

        ערך ברירת המחדל: 180 שניות.

      2. בשדה Maximum number of rows (מספר השורות המקסימלי), מזינים את מספר השורות המקסימלי שיוחזר ממסד הנתונים.

        ערך ברירת המחדל: 25.

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

        תמונה שבה מוצגת שאילתת SQL בהתאמה אישית תמונה שבה מוצגת שאילתת SQL בהתאמה אישית

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

        אפשר להשתמש בסימן שאלה (?) בהצהרת SQL כדי לייצג פרמטר יחיד שצריך לציין ברשימת פרמטרים של שאילתה. לדוגמה, שאילתת ה-SQL הבאה בוחרת את כל השורות מהטבלה Employees שתואמות לערכים שצוינו בעמודה LastName:

        SELECT * FROM Employees where LastName=?

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

        תמונה שמראה את האפשרות add-query-param תמונה שמראה את האפשרות add-query-param

        כדי להוסיף פרמטרים של שאילתה:

        1. מהרשימה סוג בוחרים את סוג הנתונים של הפרמטר.
        2. בשדה ערך, מזינים את הערך של הפרמטר.
        3. כדי להוסיף כמה פרמטרים, לוחצים על + הוספת פרמטר של שאילתה.
      6. הפעולה Execute custom query לא תומכת במשתני מערך.

דוגמאות לפעולות

דוגמה – חיפוש הערך הגדול יותר

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

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה find_greater ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "$1": 1.0,
    "$2": 5.0
    }
  4. אם הפעלת הפעולה תסתיים בהצלחה, הערך של השדה connectorOutputPayload במשימת המחבר יהיה דומה לערך הבא:

    [{
    "bignum": 5.0
    }]

דוגמאות לפעולות על ישויות

דוגמה – רשימת רשומות של ישות

בדוגמה הזו מוצגת רשימת הרשומות של הישות Users.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Users מהרשימה Entity.
  3. בוחרים את הפעולה List ולוחצים על סיום.
  4. בקטע Task Input (קלט למשימה) של המשימה Connectors (מחברים), אפשר להגדיר את filterClause (סעיף מסנן) בהתאם לדרישות.

    לדוגמה, אם מגדירים את סעיף המסנן ל-employeeCode='5100' and startDate='2010-01-01 00:00:00', מוצגים רק הרשומות שבהן employeeCode הוא 5100 ו-startDate הוא 2010-01-01 00:00:00.

דוגמה – שליפת רשומה אחת מישות

בדוגמה הזו מאחזרים רשומה מהישות Users.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה Get ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 103032 בשדה Default Value (ערך ברירת מחדל).

    כאן, 103032 הוא ערך המפתח הראשי של הישות Users.

דוגמה – מחיקת רשומה מישות

בדוגמה הזו נמחקת רשומה מהישות Users.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Users מהרשימה Entity.
  3. בוחרים את הפעולה Delete ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 113132 בשדה Default Value (ערך ברירת מחדל).

    לחלופין, אם לישות יש מפתחות ראשיים מורכבים, במקום לציין את entityId, אפשר להגדיר את filterClause. לדוגמה, employeeCode='5100' and startDate='2010-01-01 00:00:00'.

דוגמה – יצירת רשומה בישות

בדוגמה הזו נוצרת רשומה בישות Users.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Users מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
  5. אם השילוב יצליח, השדה connectorOutputPayload של משימת המחבר יכיל את התגובה של פעולת היצירה.

דוגמה – עדכון רשומה בישות

בדוגמה הזו מעדכנים רשומה בישות Users.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Users מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "country": "IN"
    }
  5. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 113132 בשדה Default Value (ערך ברירת מחדל).

    לחלופין, אם לישות יש מפתחות ראשיים מורכבים, במקום לציין את entityId, אפשר להגדיר את filterClause. לדוגמה, employeeCode='5100' and startDate='2010-01-01 00:00:00'.

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

שימוש בחיבור MySQL בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

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

קבלת עזרה מקהילת Google Cloud

אתם יכולים לפרסם את השאלות שלכם ולדון במחבר הזה בקהילת Google Cloud בפורומים של Cloud.

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