במאמר הזה מוסבר איך להתקין ספרייה מוגדרת מראש של פונקציות MySQL במסד נתונים של Spanner. אפשר להוסיף את הפונקציות האלה למסד הנתונים באמצעות מסוף Google Cloud או Google Cloud CLI.
התקנת הפונקציות האלה של MySQL מרחיבה את היכולות של Spanner, ומאפשרת לכם לבצע פעולות שכיחות בסביבות MySQL ישירות ב-Spanner.
מידע נוסף על פונקציות MySQL שנתמכות ב-Spanner זמין במאמר פונקציות MySQL.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להתקנת הפונקציות של MySQL, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Cloud Spanner Database Admin (roles/spanner.databaseAdmin) בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
התקנה של פונקציות בהגדרת המשתמש ב-MySQL
אפשר להתקין את הפונקציות המוגדרות על ידי המשתמש ב-MySQL במסד נתונים של Spanner באחת מהדרכים הבאות:
מסוף Google Cloud
נכנסים לדף Instances במסוף Google Cloud של Spanner.
לוחצים על המופע שמכיל את מסד הנתונים.
לוחצים על מסד הנתונים.
לוחצים על הלחצן כתיבת DDL כדי לפתוח את Spanner Studio.
מעתיקים את כל התוכן של קובץ ה-DDL בקובץ
mysql_udfs.sql.בכרטיסייה של עורך SQL, מדביקים את התוכן שהועתק מקובץ ה-DDL.
לוחצים על Run.
gcloud
אפשר להשתמש בפקודה gcloud spanner database ddl update כדי להתקין את פונקציות ה-UDF של MySQL.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- DATABASE_ID: המזהה של מסד הנתונים שאליו רוצים להוסיף את פונקציות ה-UDF של MySQL.
- INSTANCE_ID: המזהה של המכונה שבה נמצא מסד הנתונים.
-
DDL_FILE_PATH: הנתיב לקובץ שמכיל את כל הצהרות
CREATE OR REPLACE FUNCTIONבקובץ mysql_udfs.sql.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud spanner databases ddl update DATABASE_ID \ --instance=INSTANCE_ID \ --ddl-file=DDL_FILE_PATH
Windows (PowerShell)
gcloud spanner databases ddl update DATABASE_ID ` --instance=INSTANCE_ID ` --ddl-file=DDL_FILE_PATH
Windows (cmd.exe)
gcloud spanner databases ddl update DATABASE_ID ^ --instance=INSTANCE_ID ^ --ddl-file=DDL_FILE_PATH
המאמרים הבאים
- מידע על כל הפונקציות שמוגדרות על ידי המשתמש ב-MySQL שנתמכות ב-Spanner