תכונות של 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 פרטית (גישה לשירותים פרטיים).
  • שכפול נתונים בין כמה אזורים עם מעבר אוטומטי לגיבוי.
  • לייבא ולייצא מסדי נתונים באמצעות mysqldump, או לייבא ולייצא קובצי CSV.
  • תמיכה בפרוטוקול MySQL wire ובמחברים סטנדרטיים של MySQL.
  • גיבויים אוטומטיים, גיבויים לפי דרישה ושחזור מערכת מנקודה מסוימת בזמן (PITR).
  • שיבוט של מכונה.
  • שילוב עם רישום ביומן ומעקב של Google Cloud Observability.
  • ISO/IEC 27001
  • תמיכה במאגרי קריאה ובהתאמה אוטומטית לעומס (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

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

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

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