תכונות של 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 מהמקורות הבאים:
- לקוח
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
הצהרות 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
במקרים מסוימים, 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 אזורית.