תכונות של Cloud SQL ל-MySQL

בדף הזה מתוארים התכונות והיכולות העיקריות של Cloud SQL ל-MySQL. ‫Cloud SQL זמין גם ל-PostgreSQL ול-SQL Server.

תכונות של MySQL לפי מהדורות Cloud SQL

מידע נוסף על התכונות של מהדורת Cloud SQL Enterprise Plus ומהדורת Cloud SQL Enterprise של Cloud SQL ל-MySQL זמין במאמר מבוא למהדורות Cloud SQL.

תכונות כלליות של MySQL שנתמכות ב-Cloud SQL

  • מסדי נתונים מנוהלים של MySQL Community Edition בענן.
  • מופעים זמינים באמריקה, באיחוד האירופי, באסיה ובאוסטרליה. כל המיקומים שבהם אפשר ליצור מכונות Cloud SQL
  • תומך בהעברה ממסדי נתונים של מקור למסדי נתונים של יעד ב-Cloud SQL באמצעות Database Migration Service (DMS).
  • הנתונים של הלקוחות מוצפנים ברשתות הפנימיות של Google ובטבלאות של מסדי נתונים, בקבצים זמניים ובגיבויים.
  • תמיכה בחיבורים חיצוניים מאובטחים באמצעות שרת proxy ל-Cloud SQL Auth או באמצעות פרוטוקול SSL/TLS.
  • תמיכה בכתובת IP פרטית (גישה לשירותים פרטיים).
  • שכפול נתונים בין כמה אזורים עם מעבר אוטומטי לגיבוי (failover).
  • לייבא ולייצא מסדי נתונים באמצעות mysqldump, או לייבא ולייצא קובצי CSV.
  • תמיכה ב-MySQL wire protocol ובמחברים סטנדרטיים של MySQL.
  • גיבויים אוטומטיים, גיבויים לפי דרישה ושחזור לנקודת זמן מסוימת.
  • שיבוט של מכונה.
  • שילוב עם רישום ביומן ומעקב של Google Cloud Observability.
  • ISO/IEC 27001 compliant.
  • תמיכה במאגרי קריאה ובהתאמה אוטומטית לעומס (autoscaling) של מאגרי קריאה
  • הקטנת נפח האחסון. מידע נוסף זמין במאמר מידע על צמצום נפח האחסון.

שפות אפליקציה שנתמכות ב-Cloud SQL ל-MySQL

אפשר להשתמש ב-Cloud SQL עם אפליקציות App Engine שפועלות בסביבה הגמישה ונכתבו בשפות הבאות:

  • C#‎
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

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

איך מתחברים למכונות של Cloud SQL ל-MySQL

אפשר להתחבר למופע Cloud SQL מהמקורות הבאים:

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

ניהול משתמשים ב-Cloud SQL ל-MySQL 8.0

בגלל שינויים ב-MySQL 8.0, אי אפשר להשתמש בהצהרות CREATE או DELETE לניהול משתמשי MySQL. בנוסף, אי אפשר לשנות הרשאות משתמש באמצעות הצהרות INSERT, ‏ UPDATE או DELETE. במקום זאת, משתמשים בהצהרות CREATE USER, DROP USER, GRANT ו-REVOKE כדי לשנות את הרשאות המשתמש. מידע נוסף זמין במאמר הערות בנושא ניהול חשבונות.

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

ההבדלים בין MySQL רגיל לבין Cloud SQL ל-MySQL

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

תכונות של MySQL שלא נתמכות ב-Cloud SQL

התכונה הבאה לא נתמכת ב-Cloud SQL ל-MySQL בגרסאות 5.6 ו-5.7:

  • הרשאת SUPER

התכונות הבאות לא נתמכות ב-Cloud SQL ל-MySQL 8.0:

התכונה הבאה לא נתמכת ב-Cloud SQL ל-MySQL 8.4:

בנוסף, Cloud SQL ל-MySQL לא מעניק את ההרשאות הבאות שהוצגו ב-MySQL 8.4:

תוספים ל-MySQL שלא נתמכים ב-Cloud SQL

הצהרות MySQL שלא נתמכות ב-Cloud SQL

הוראות ה-SQL הבאות יוצרות שגיאה עם ההודעה Error 1290: The MySQL server is running with the Google option so it cannot execute this statement:

  • LOAD DATA INFILE

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

ההצהרות הבאות לא נתמכות כי מכונות MySQL משתמשות בשכפול GTID:

  • CREATE TABLE ... SELECT דוחות
  • עסקאות או דפי חשבון שמעדכנים גם טבלאות של עסקאות וגם טבלאות של נתונים שאינם עסקאות

ההצהרה הבאה של MySQL לא נתמכת ב-Cloud SQL ל-MySQL בגרסאות 5.6 ו-5.7, אבל היא נתמכת ב-Cloud SQL ל-MySQL בגרסה 8.0:

  • CREATE TEMPORARY TABLE דפי חשבון בתוך עסקאות

מידע נוסף זמין במסמכי התיעוד של MySQL.

פונקציות MySQL שלא נתמכות ב-Cloud SQL

  • LOAD_FILE()

תכונות של תוכנת לקוח MySQL שלא נתמכות ב-Cloud SQL

  • mysqldump באמצעות האפשרות --tab או אפשרויות שמשמשות עם --tab. הסיבה לכך היא שההרשאה FILE לא ניתנת למשתמשים במכונה. יש תמיכה בכל שאר האפשרויות של mysqldump. למידע על שימוש באפשרויות של mysqldump לאופטימיזציה של הקובץ לייבוא ל-Cloud SQL, אפשר לעיין במאמר ייצוא משרת MySQL מקומי באמצעות mysqldump.

  • mysqlimport בלי להשתמש באפשרות --local. הסיבה לכך היא ההגבלה LOAD DATA INFILE. כדי לייבא נתונים למכונת Cloud SQL, אפשר לעיין במאמרים בנושא ייבוא באמצעות קובץ dump או ייבוא באמצעות קובץ CSV.

  • אם רוצים לייבא מסדי נתונים עם נתונים בינאריים למופע Cloud SQL, צריך להשתמש באפשרות --hex-blob עם mysqldump.

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

  • לא כל האפשרויות והפרמטרים של MySQL מופעלים לעריכה כ דגלים של Cloud SQL.

    כדי לבקש להוסיף דגל Cloud SQL שאפשר להגדיר, אפשר להשתמש ב קבוצת הדיון של Cloud SQL.

  • ‫InnoDB הוא מנוע האחסון היחיד שנתמך. לקבלת עזרה בהמרת טבלאות מ-MyISAM ל-InnoDB, אפשר לעיין במאמר המרת טבלה ל-InnoDB במסמכי התיעוד של MySQL.

הגדרות קבועות מראש של MySQL ל-Cloud SQL

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

skip-name-resolve

הדגל הזה משפיע על האופן שבו שמות המארחים נפתרים עבור חיבורי לקוחות. אפשר לעיין בskip-name-resolve במסמכי התיעוד של MySQL.

log_bin

הסימון הזה מציין אם רישום בינארי מופעל. אם נעשה שימוש באפשרות --log-bin, הערך של המשתנה הזה הוא ON. אחרת, הערך הוא OFF. אפשר לעיין בlog_bin במסמכי התיעוד של MySQL.

אימות ב-MySQL

בקטע הזה מוסבר על השינויים שבוצעו באימות המובנה של MySQL.

ברירת המחדל של תוסף האימות ב-MySQL 8.0

ב-Cloud SQL ל-MySQL 8.0, התוסף mysql_native_password משמש כברירת מחדל לאימות משתמשים חדשים במקום caching_sha2_password. תוסף mysql_native_password הוא ברירת המחדל למשתמשי MySQL בגרסאות 5.6 ו-5.7.

אם רוצים שמשתמשים חדשים ישתמשו בתוסף caching_sha2_password כברירת מחדל לאימות, אפשר להגדיר את דגל המופע default_authentication_plugin לשימוש ב-caching_sha2_password.

כדי להגדיר משתמשים קיימים לשימוש ב-caching_sha2_password, משתמשים בפקודה ALTER USER כדי לשנות את תוסף האימות.

משתמשים שמוגדר להם אימות caching_sha2_password עשויים להצטרך להשתמש בדגל get-server-public-key כשהם מתחברים. פרטים נוספים זמינים במאמר בנושא Caching SHA-2 Pluggable Authentication במסמכי התיעוד של MySQL.

ברירת המחדל של תוסף האימות ב-MySQL 8.4

החל מ-Cloud SQL ל-MySQL 8.4, התוסף caching_sha2_password הוא תוסף האימות שמוגדר כברירת מחדל. כל המשתמשים הפנימיים וחשבונות המשתמשים החדשים שאתם יוצרים משתמשים בפלאגין caching_sha2_password לאימות. ‫Cloud SQL ל-MySQL בגרסה 8.4 ממשיך לתמוך בחשבונות משתמש קיימים ב-Cloud SQL שמשתמשים בתוסף mysql_native_password. אחרי שמשדרגים את המכונות של Cloud SQL ל-MySQL 8.4, אפשר להמשיך לקשר אליהן חשבונות קיימים.

ב-Cloud SQL ל-MySQL 8.4, התוסף mysql_native_passwordauthentication הוצא משימוש. כל ניסיון ליצור חשבון משתמש חדש באמצעות תוסף האימות mysql_native_password שלא בשימוש יותר יגרום לשגיאה. אי אפשר להגדיר את authentication_policy של חשבון ב-Cloud SQL ל-MySQL 8.4 לשימוש ב-mysql_native_password.

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

ALTER USER 'username'@'%'
IDENTIFIED WITH caching_sha2_password BY 'user_password';

מחליפים את הערכים username ו-user_password בערכים של חשבון המשתמש שרוצים לעדכן.

למידע נוסף על ההשלכות של השינוי הזה על התאימות בין שרתים, לקוחות ומחברים, אפשר לעיין במאמר caching_sha2_password as the Preferred Authentication Plugin.

שינויים בדגלים של מערכת MySQL ב-Cloud SQL

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

תכונות של Cloud SQL שלא נתמכות ב-Cloud SQL ל-MySQL 8.0 ובגרסאות מתקדמות יותר

גרסה 8.0 ואילך של Cloud SQL ל-MySQL לא תומכות בהגדרת זמינות גבוהה (HA) מדור קודם של Cloud SQL ל-MySQL, שמשתמשת בעותקים משוכפלים למעבר אוטומטי לגיבוי (failover). ב-Cloud SQL ל-MySQL 8.0 ובגרסאות מאוחרות יותר, יש תמיכה רק בהגדרת HA אזורית.