תכונות של 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 מהמקורות הבאים:
- לקוח
mysql - כלים של צד שלישי כמו SQL Workbench או Toad for MySQL
- אפליקציות חיצוניות
- אפליקציות App Engine
- אפליקציות שפועלות ב-Compute Engine
- אפליקציות שפועלות ב-Google Kubernetes Engine
- פונקציות Cloud Run
- Cloud Run
- סקריפטים של Google Apps Script
אין תמיכה בהתחברות ל-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:
התכונות הבאות לא נתמכות ב-Cloud SQL ל-MySQL 8.0:
התכונה הבאה לא נתמכת ב-Cloud SQL ל-MySQL 8.4:
- מזהי GTID עם תגים. מידע נוסף על GTID עם תגים זמין בקטע 'שכפול MySQL: GTID עם תגים' בקטע 'תכונות שנוספו או שונו ב-MySQL 8.4' בהערות הגרסה של MySQL 8.4.
בנוסף, Cloud SQL ל-MySQL לא מעניק את ההרשאות הבאות שהוצגו ב-MySQL 8.4:
תוספים ל-MySQL שלא נתמכים ב-Cloud SQL
- הפלאגין InnoDB memcached
- הפלאגין X
- שכפול פלאגין
- הצפנה של נתונים במנוחה ב-InnoDB
- validate_password component
הצהרות MySQL שלא נתמכות ב-Cloud SQL
הוראות ה-SQL הבאות יוצרות שגיאה עם ההודעה Error 1290:
The MySQL server is running with the Google option so it cannot execute this
statement:
LOAD DATA INFILESELECT ... INTO OUTFILESELECT ... INTO DUMPFILEINSTALL PLUGIN ...UNINSTALL PLUGINCREATE 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 אזורית.