הודעות שגיאה ב-Cloud SQL

בדף הזה נסביר על חלק מהודעות השגיאה שמופיעות ב-Cloud SQL.

סקירה כללית

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

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

אם לא מצאתם את קובץ רפרנס להודעת השגיאה שמוצגת לכם, אתם יכולים גם לחפש במקומות הבאים, שבהם משתמשים אחרים אולי חוו חוויה רלוונטית:

שגיאות תפעוליות

A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W

הודעת השגיאה פתרון בעיות
החיבור xxx למסד הנתונים: DB_NAME בוטל. האפליקציה לא מסיימת את החיבורים כמו שצריך.

בודקים את התנאים הבאים:

  • האפליקציה לא הפעילה את הפונקציה mysql_close() לפני היציאה.
  • שגיאות תקשורת.
  • יכול להיות שהאפליקציה הייתה במצב שינה יותר ממספר השניות שצוין ב-`wait_timeout` או ב-`interactive_timeout` בלי לשלוח בקשות לשרת. מידע נוסף מופיע בסעיף 5.1.7, משתני מערכת של השרת.
  • האפליקציה נסגרה באופן פתאומי באמצע העברת נתונים.
  • יכול להיות שהערך של המשתנה max_allowed_packet קטן מדי, או שהשאילתות דורשות יותר זיכרון ממה שהוקצה ל-mysqld. כדי לפתור את הבעיה, צריך להגדיל את הערך של הדגל max_allowed_packet.
הגישה נדחתה. כדי לבצע את הפעולה הזו, צריך (לפחות אחת מ)הרשאות SUPER. יכול להיות שיש תצוגה, פונקציה או פרוצדורה במסד הנתונים של המקור שמפנה אל DEFINER באופן שלא נתמך על ידי Cloud SQL.

מעדכנים את המגדיר במסדי הנתונים החיצוניים, למשל מ-root@localhost ל-root@% או למשתמש שאינו משתמש-על. מידע נוסף זמין במאמר בקרת גישה לאובייקטים מאוחסנים.

Access denied for user 'XXX'@'XXX' (using password: XXX) יכולות להיות לכך כמה סיבות, למשל:
  • שם המשתמש (או הסיסמה) שגוי.
  • המשתמש מתחבר מכתובת URL שונה מ-@XXX.
  • למשתמש אין את ההרשאות המתאימות למסד הנתונים שהוא מנסה להתחבר אליו.

אפשר לנסות את הפעולות הבאות…

  • מאמתים את שם המשתמש ואת הסיסמה התואמת.
  • בודקים את מקור החיבור כדי לראות אם הוא תואם לכתובת ה-URL שבה למשתמש יש הרשאות גישה.
  • בודקים את הרשאות הגישה של המשתמש במסד הנתונים.
לא נמצא טווח כתובות IP שהוקצה ברשת. לא בוצע עדכון של חיבורי VPC לאחר שינוי או הסרה של טווח שהוקצה.

צריך לשנות את החיבור הפרטי. משתמשים בפקודה הבאה, ומקפידים להשתמש בארגומנט --force:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
הפקודה ANY נדחתה למשתמש 'root'@'%' עבור הטבלה ... למשתמש אין את כל ההרשאות שנדרשות לפעולה הזו.

אפשר לנסות את השלבים הבאים:

  1. מתחברים למסד הנתונים (לדוגמה, באמצעות Cloud Shell) ומתחברים בתור משתמש root.
  2. מריצים את USE mysql;.
  3. מעניקים את ההרשאות הבאות באמצעות התחביר:
    GRANT PERMISSION_1,PERMISSION_2 ON *.* TO 'root' WITH GRANT OPTION;
       
    • בחירה
    • הוספה
    • עדכון
    • מחיקה
    • צור
    • DROP
    • טעינה מחדש
    • SHUTDOWN
    • PROCESS
    • קובצי עזר
    • INDEX
    • ALTER
    • הצגת מסדי נתונים
    • יצירת טבלאות זמניות
    • LOCK TABLES
    • EXECUTE
    • שרת משני לשכפול
    • לקוח שכפול
    • יצירת תצוגה
    • הצגת התצוגה
    • יצירת תרחיש
    • ALTER ROUTINE
    • יצירת משתמש
    • אירוע
    • TRIGGER
    • CREATE TABLESPACE
  4. מריצים את הפקודה USE 'Database_Name'; כאשר Database_Name הוא מסד הנתונים שבו יוצרים את התצוגות.
  5. מריצים את כל הפקודות ליצירת תצוגות בסשן ומבצעים commit.
הודעת השגיאה פתרון בעיות
בקשה שגויה. יכולות להיות הרבה סיבות להודעה הזו. ‫Illegal Argument היא אחת מהשיטות הנפוצות ביותר. במקרה הזה, הבקשה משתמשת בארגומנט שגוי או בערך לא תקין לארגומנט. במקרים רבים אחרים, הודעת השגיאה עשויה להכיל רמז מועיל.

במקרה של Illegal Argument, בודקים את הבקשה כדי לוודא שכל ארגומנט מותר וכל ערך של הארגומנט תקין. בכל מקרה אחר, כדאי לבדוק את קובצי היומן כדי לראות אם יש בהם מידע נוסף.

הודעת השגיאה פתרון בעיות
אי אפשר לשנות את הטווחים שהוקצו ב-CreateConnection. צריך להשתמש ב-UpdateConnection. לא בוצע עדכון של חיבורי VPC לאחר שינוי או הסרה של טווח שהוקצה.

צריך לשנות את החיבור הפרטי. משתמשים בפקודה הבאה, ומוודאים שמשתמשים בארגומנט --force:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
החיבור אופס על ידי עמית.

אם אתם מנסים לבצע ייצוא ו-Cloud Storage לא מקבל נתונים בפרק זמן מסוים, החיבור מתאפס.

אפשר לנסות ייצוא ידני באמצעות pg_dump.

Constraints/sql.restrictAuthorizedNetworks. הפעולה של שיבוט נחסמת על ידי ההגדרה Authorized Networks. Authorized Networks מוגדרות לכתובות IP ציבוריות בקטע Connectivity (קישוריות) במסוף Google Cloud , ושיבוט לא מותר בגלל שיקולי אבטחה.

אם אפשר, מסירים את כל הערכים של Authorized Networks מהמכונה של Cloud SQL. אחרת, יוצרים העתק בלי ערכים של Authorized Networks.

לא הייתה אפשרות להקצות דף חדש למסד הנתונים database_name בגלל שאין מספיק מקום בדיסק בקבוצת הקבצים PRIMARY. נגמר המקום בקבוצת הקבצים PRIMARY, שהיא קבוצת הקבצים הראשית וקבוצת הקבצים שמוגדרת כברירת מחדל במסד נתונים.

משתמשים בפקודה sp_helpdb כדי לקבל מידע על מסד הנתונים.

כדאי לנסות את הפתרונות הבאים:

  • מרחיבים ידנית את שטח הדיסק או מצמצמים את הנתונים במסד הנתונים.
  • מוודאים שהאפשרות Automatic storage increase מופעלת במופע של מסד הנתונים.
  • מוסיפים עוד קבוצות קבצים ומעבירים אליהן נתונים.
  • מוודאים שהצמיחה לא מוגבלת. משתמשים בפקודה ALTER DATABASE כדי להפעיל את הגידול האוטומטי, אם הוא לא מופעל, וכדי להגדיל את הגודל המקסימלי של הקובץ.
  • ניהול קבצים של tempdb. משתמשים בפקודות DBCC OPENTRAN ו-DBCC SQLPERF כדי לבדוק אם יש טרנזקציות פתוחות שעלולות לגרום לקובץ tempdb או ליומן הטרנזקציות לגדול.
הודעת השגיאה פתרון בעיות
מסד הנתונים user לא קיים. gcloud sql connect --user פועל רק עם משתמש ברירת המחדל postgres.

מתחברים למשתמש ברירת המחדל ואז מחליפים משתמשים.

הדיסק מלא. יכול להיות שהנפח של הדיסק של המופע הראשי יתמלא במהלך יצירת העותק.

עורכים את המופע הראשי כדי לשדרג אותו לגודל דיסק גדול יותר.

הודעת השגיאה פתרון בעיות
יצירת רשת משנה נכשלה. אין יותר כתובות זמינות בטווח כתובות ה-IP.

לא נמצאו בלוקים פנויים בטווחי כתובות ה-IP שהוקצו. עליך להקצות טווחים חדשים לספק השירות הזה.

אין יותר כתובות זמינות בטווח כתובות ה-IP שהוקצה.

הנה כמה תרחישים אפשריים:

  • הגודל של טווח כתובות ה-IP שהוקצה לחיבור הפרטי לשירות קטן מ-/24.
  • הגודל של טווח כתובות ה-IP שהוקצה לחיבור הפרטי לשירות קטן מדי למספר המכונות של Cloud SQL.
  • הדרישה לגבי הגודל של טווח כתובות ה-IP שהוקצה תהיה גדולה יותר אם המכונות הווירטואליות נוצרות בכמה אזורים. הצגת גודל הטווח שהוקצה

בכל אחד מהתרחישים שצוינו קודם, אתם יכולים לבחור להרחיב את החיבור הקיים או להקצות טווח כתובות IP נוסף לחיבור הפרטי לשירות.

אם מקצים טווח חדש, חשוב לוודא שההקצאה לא חופפת להקצאות קיימות.

אחרי שיוצרים טווח כתובות IP חדש, מעדכנים את הקישור בין רשתות ה-VPC באמצעות הפקודה הבאה:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK
--project=PROJECT_ID \
--force

אם מרחיבים הקצאה קיימת, חשוב להגדיל רק את טווח ההקצאה ולא להקטין אותו. לדוגמה, אם ההקצאה המקורית הייתה 10.0.10.0/24, ההקצאה החדשה צריכה להיות לפחות 10.0.10.0/23.

באופן כללי, אם מתחילים מהקצאה של ‎ /24, מומלץ להקטין את ‎ /mask ב-1 לכל תנאי (קבוצת סוגי מופעים נוספת, אזור נוסף). לדוגמה, אם מנסים ליצור שתי קבוצות של סוגי מכונות באותו הקצאה, מעבר מ-‎ /24 ל-‎ /23 מספיק.

אחרי הרחבת טווח כתובות IP קיים, מעדכנים את ה-VPC Peering באמצעות הפקודה הבאה:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
הודעת השגיאה פתרון בעיות
‫(gcloud.sql.connect) נראה שללקוח שלך אין קישוריות IPv6 ולמופע של מסד הנתונים אין כתובת IPv4. אתם מנסים להתחבר למכונת IP פרטית באמצעות Cloud Shell.

אי אפשר להתחבר מ-Cloud Shell למופע עם כתובת IP פרטית בלבד.

Got packet bigger than max_allowed_packet bytes when dumping table. החבילה הייתה גדולה יותר מהמותר בהגדרות.

משתמשים ב-mysqldump עם האפשרות max_allowed_packet.

מידע נוסף על שימוש בדגלים של mysqldump לייבוא מנוהל זמין במאמר .

הודעת השגיאה פתרון בעיות
‫InnoDB: הכתיבה לקובץ ‎ ./ibtmp1 נכשלה באופסט XXXX, ‏ YYYY בייטים היו אמורים להיכתב, רק 0 נכתבו. המופע הגיע למגבלה קשיחה במהלך גיבוי אוטומטי.

בודקים שמערכת ההפעלה ומערכת הקבצים תומכות בקבצים בגודל הזה. בודקים שהדיסק לא מלא או חורג ממכסת הדיסק. אפשר לבקש להגדיל את המכסות דרך מסוףGoogle Cloud או לערוך את המופע כדי לשדרג אותו לגודל דיסק גדול יותר.

שגיאה פנימית. יכול להיות שבפרויקט חסר חשבון השירות של Service Networking שנדרש לתכונה הזו.

אפשר ליצור את חשבון השירות באופן ידני לפי ההוראות במאמר יצירה והקצאה של תפקידים לסוכני שירות.

בקשה לא תקינה: הגדרת Service Networking שגויה עבור המופע. המחבר Service Networking API לא מופעל בפרויקט.

מפעילים את Service Networking API בפרויקט. אם אתם רואים את השגיאה הזו כשאתם מנסים להקצות כתובת IP פרטית למופע Cloud SQL, ואתם משתמשים ב-VPC משותף, אתם צריכים גם להפעיל את Service Networking API בפרויקט המארח.

המופע לא כשיר ליצירת עותק. המופע הראשי לא עומד בדרישות הדרושות לשכפול. רשימת הדרישות מופיעה במאמר בנושא מגבלות השכפול.
הודעת השגיאה פתרון בעיות
ההתחברות של המשתמש 'XXX' נכשלה. מוודאים שלמשתמש יש הרשאות במופע ובמסד הנתונים שאליהם הוא מנסה להתחבר, ושהוא משתמש בפרטי הכניסה הנכונים.
התחברות 'test' היא הבעלים של מסד נתונים אחד או יותר. לשנות את הבעלים של מסדי הנתונים לפני שמבטלים את ההתחברות. אם רוצים להסיר את פרטי הכניסה של משתמש שמשויכים לבעלים של מסד נתונים שכבר לא פעיל, צריך קודם להקצות בעלים חדש למסד הנתונים.
הודעת השגיאה פתרון בעיות
טבלת המטא-נתונים נעולה. שאילתה, תהליך או עסקה אחרים חוסמים את השאילתה שלכם ונועלים את הטבלה.

מוצאים את התהליך שגרם לנעילת הטבלה ומפסיקים אותו:

  1. אבחון באמצעות: sql> show processlist;

    יכול להיות שהפריט הראשון ברשימה הוא זה שמחזיק את הנעילה, והפריטים הבאים ממתינים לו.

  2. גם הפקודה SHOW INNODB STATUS יכולה לעזור.
  3. מריצים את הפקודה KILL <var>PID</var>.
הודעת השגיאה פתרון בעיות
שיוך הרשת נכשל. ה-Service Networking API לא מופעל בפרויקט.

מפעילים את Service Networking API בפרויקט. אם אתם רואים את השגיאה הזו כשאתם מנסים להקצות כתובת IP פרטית למופע Cloud SQL, ואתם משתמשים ב-VPC משותף, אתם צריכים גם להפעיל את Service Networking API בפרויקט המארח.

הודעת השגיאה פתרון בעיות
הפעולה נכשלה כי פעולה אחרת כבר הייתה בתהליך. רוב הפעולות ב-Cloud SQL הן סינכרוניות. אפשר להריץ רק אחת בכל פעם.

צריך לחכות שהפעולה הקודמת תסתיים לפני שמתחילים פעולה אחרת.

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

אפשר לבקש להגדיל את המכסות דרך Google Cloud המסוף.

הודעת השגיאה פתרון בעיות
יחידות הקיבולת שנשארו שמורות. הגעתם למספר החיבורים המקסימלי המותר.

מגדילים את הערך של הדגל max_connections. מידע נוסף על הגדרת דגלים של מסד נתונים

בבקשה חסר מפתח API תקין. יכול להיות שאין לכם קובץ JSON תקין של מפתח חשבון שירות, או שהוא לא מאוחסן במיקום הצפוי.

מוודאים שיש לכם קובץ JSON תקין של מפתח חשבון שירות במיקום שמאוחסן במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS, ושהמשתנה מצביע על המיקום הנכון.

הודעת השגיאה פתרון בעיות
המפתח שצוין היה ארוך מדי. האורך המקסימלי של המפתח הוא 767 בייטים. יכול להיות שמוגדר משתנה innodb_large_prefix במופע הראשי החיצוני.

מגדירים את הדגל innodb_large_prefix לערך ON כשיוצרים את העותק, או מעדכנים את העותק הקיים באמצעות הדגל.

שגיאת SSL: מרווח פנימי לא תקין. שגיאה באישור השרת.

יוצרים אישור שרת חדש ומבצעים רוטציה.

אירעה שגיאת מערכת.
  • יכול להיות שלמשתמש אין את כל ההרשאות שהוא צריך ב-Cloud Storage.
  • יכול להיות שהטבלה במסד הנתונים לא קיימת.

אפשר לנסות את הפעולות הבאות…

  • חשוב לוודא שיש לכם הרשאת WRITER בקטגוריה והרשאת READER בקובץ הייצוא. מידע נוסף על הגדרת בקרת גישה ב-Cloud Storage זמין במאמר יצירה וניהול של רשימות בקרת גישה.
  • מוודאים שהטבלה קיימת. אם הטבלה קיימת, צריך לוודא שיש לכם את ההרשאות הנכונות בקטגוריית האחסון.

הודעת השגיאה פתרון בעיות
ההגדרה של הטבלה השתנתה. במהלך תהליך הייצוא, חל שינוי בטבלה.

יכול להיות שפעולת ה-dump של העסקה תיכשל אם משתמשים בהצהרות הבאות במהלך פעולת הייצוא:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE

מסירים את ההצהרות האלה מפעולת הגיבוי.

גודל הקובץ הזמני חורג מהערך של temp_file_limit. הערך של הדגל temp_file_limit נמוך מדי ביחס לשימוש במסד הנתונים.

הגדלת הגודל של temp_file_limit. מידע נוסף על הגדרת דגלים של מסד נתונים

הטבלה db.table לא קיימת אם טבלה אחת או יותר של InnoDB נעלמו אחרי הפעלה מחדש של MySQL, ובאותו הזמן יש ביומן השגיאות של MySQL את האזהרות הבאות, הבעיה היא שעמודות המפתח הזר והמפתח שאליו מתבצעת ההפניה לא מסונכרנות.
[Warning] InnoDB: Load table db.table failed, the table has missing
foreign key indexes. Turn off 'foreign_key_checks' and try again.
[Warning] InnoDB: Cannot open table db/table from the internal data
dictionary of InnoDB though the .frm file for the table exists.
See InnoDB troubleshooting
for more information.
      

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

mysql> select * from db.table;
ERROR 1146 (42S02): Table db.table doesn't exist
      

השבתה של foreign_key_checks בסשן MySQL מאפשרת גישה חוזרת לטבלה. אחרי שהטבלה נטענת למטמון המילון, InnoDB לא בודק את אי ההתאמה של המפתח הזר ולא מדווח עליה עד להפעלה מחדש של מסד הנתונים.

כדי למנוע בעיות נוספות, צריך לתקן את אי ההתאמה של המפתח הזר.

  1. משביתים את foreign_key_checks בסשן של הלקוח mysql וניגשים לטבלה.
    mysql> SET SESSION FOREIGN_KEY_CHECKS=0;
                
  2. בודקים את טבלאות האב והצאצא ומזהים את אי ההתאמות בין העמודות של המפתח הזר והמפתח שאליו מתבצעת ההפניה.
    mysql> SHOW CREATE TABLE parent_table;
    mysql> SHOW CREATE TABLE child_table;
                

    מוודאים שלעמודות התואמות יש סוגי נתונים דומים. הגודל והסימן של סוגי דיוק קבוע כמו INTEGER ו-DECIMAL זהים. בעמודות מחרוזות לא בינאריות (תווים), ערכי התווים והסדר שלהם צריכים להיות זהים.

  3. כדי לתקן את חוסר ההתאמה, משתמשים בהצהרה ALTER TABLE. יכול להיות שפעולות מסוימות יחייבו אתכם להסיר קודם את אילוץ המפתח הזר, להחיל את השינוי ואז להוסיף מחדש את המפתח הזר.
  4. מפעילים מחדש את foreign_key_checks.
    mysql> SET SESSION FOREIGN_KEY_CHECKS=1;
                
(Timeout) במהלך הייצוא. ייצוא בפורמטים CSV ו-SQL מתבצע באופן שונה. פורמט ה-SQL כולל את כל מסד הנתונים, ולכן סביר להניח שייקח יותר זמן להשלים את הפעולה.

כדאי להשתמש בפורמט CSV ולהפעיל כמה משימות ייצוא קטנות יותר כדי להקטין את הגודל ואת משך הזמן של כל פעולה.

יותר מדי חיבורים. הגדרת ערך גבוה מדי לדגל max_connections עלולה לגרום לשגיאה הזו. הבעיה הזו יכולה לקרות גם בגלל הפעלה של דגל שלא לפי הסדר.

צריך להקטין את ערך הדגל max_connections או לפנות אל תמיכת הלקוחות כדי לבקש הסרה של הדגל ואז לבצע hard drain. הפעולה הזו מאלצת את המופע להפעיל מחדש במארח אחר עם הגדרה חדשה, בלי הדגל או ההגדרה.

הודעת השגיאה פתרון בעיות
אין הרשאה להתחבר. יכולות להיות הרבה סיבות לכך, כי ההרשאה מתבצעת ברמות רבות:
  • ברמת מסד הנתונים, משתמש מסד הנתונים חייב להיות קיים והסיסמה שלו צריכה להיות זהה
  • יכול להיות שלמשתמש אין את הרשאות ה-IAM הנכונות ברמת הפרויקט, כולל ההרשאות serviceusage.services.use או cloudsql.instances.connect.
  • ברמת הרשת, אם מופעלת כתובת IP ציבורית במכונת Cloud SQL, כתובת ה-IP של המקור של החיבור חייבת להיות ברשת מאושרת.

אפשר לנסות את הפעולות הבאות…

  • מוודאים שהמשתמש קיים והסיסמה שלו תואמת.
  • מקצים את התפקיד Service Usage Consumer לחשבון המשתמש. התפקיד הזה כולל את ההרשאה serviceusage.services.use.
  • אם משתמשים בכתובת IP ציבורית, צריך לוודא שכתובת ה-IP של המקור נמצאת ברשת מורשית.
טבלה לא ידועה COLUMN_STATISTICS ב-information_schema. זה קורה אם משתמשים בקובץ הבינארי mysqldump מ-MySQL 8.0 כדי לבצע dump של נתונים ממסד נתונים של MySQL 5.7 ולייבא אותם למסד נתונים של MySQL 8.0.

אם אתם מבצעים dump של נתונים ממסד נתונים של MySQL 5.7 ומייבאים אותם למסד נתונים של MySQL 8.0, הקפידו להשתמש בבינארי mysqldump מ-MySQL 5.7. אם משתמשים בקובץ הבינארי mysqldump מ-MySQL 8.0, צריך להוסיף את הדגל --column-statistics=0.

הודעת השגיאה פתרון בעיות
‫x509: האישור לא תקף לאף שם. בעיה מוכרת: Cloud SQL Proxy Dialer לא תואם ל-Go 1.15 בשלב הזה.

עד שהבעיה תיפתר, אפשר לעיין בדיון הזה ב-GitHub, שכולל פתרון עקיף.

שגיאות לא ידועות

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

פעולה יכול להיות שהבעיה היא... פעולות שכדאי לנסות...
הוספת משתמש אם המשתמש כבר קיים במסד הנתונים, השגיאה הזו יכולה להופיע כשמנסים להוסיף אותו. בודקים שהמשתמש לא קיים כבר במסד הנתונים.
גיבוי אם ההודעה הזו מופיעה במהלך גיבוי אוטומטי או ידני, סביר להניח שהדיסק של המופע מלא. אם הקובץ הזמני תופס יותר מדי מקום, אפשר להפעיל מחדש את המופע כדי להסיר את הקובץ ולפנות מקום בדיסק. אחרת, יכול להיות שתצטרכו לשדרג את המכונה לגודל דיסק גדול יותר.
שכפל זה יכול לקרות כשאין מספיק משאבים באזור שנבחר. אפשר לנסות אזור אחר באזור, או לחכות ולנסות שוב מאוחר יותר.
ליצירת מופע
  • זה יכול לקרות כשמנסים לעשות שימוש חוזר באותו שם של מופע שנמחק לאחרונה.
  • הסיבה יכולה להיות גם בעיות לסירוגין בחיבור לאינטרנט.
  • יכול להיות שביומנים יופיע שה-Service Networking API לא מופעל בפרויקט.
  • השגיאה הזו מתרחשת גם כשמנסים ליצור כמה מופעים במקביל. לדוגמה, סקריפטים של Terraform מאפשרים את הניסיון הזה.
  • סיבה נוספת יכולה להיות שמשאב מסוים מוצה או שחלה חריגה ממגבלת מכסה. מחפשים ביומנים רשומה כמו Quota 'INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK' exceeded. Limit: 100.0 globally
  • השגיאה הזו יכולה לקרות אם יצירת תת-רשת נכשלת כשאין יותר כתובות זמינות בטווח כתובות ה-IP.
  • אי אפשר להשתמש מחדש בשמות של מופעים עד כשבוע אחרי המחיקה.
  • במקרה של בעיות בחיבור לסירוגין, הפתרון היחיד הוא לנסות שוב.
  • מפעילים את Service Networking API בפרויקט.
  • סקריפטים ליצירת מופעים מקבילים יצליחו ליצור רק אחד מהמופעים. משנים את הסקריפט כך שימתין עד שכל פעולת יצירה של מופע תסתיים לפני שימשיך לפעולה הבאה.
  • הקצאת טווחים חדשים.
ייצוא אם אתם רואים את השגיאה הזו כשאתם מנסים לייצא מסד נתונים לקטגוריה של Cloud Storage, יכול להיות שההעברה נכשלת בגלל בעיה ברוחב הפס. יכול להיות שמופע Cloud SQL נמצא באזור אחר מקטגוריה של Cloud Storage. קריאה וכתיבה של נתונים מיבשת אחת ליבשת אחרת כרוכות בשימוש רב ברשת, ועלולות לגרום לבעיות לסירוגין כמו זו.
מעבר לגיבוי (אוטומטי) הודעת השגיאה הזו יכולה להופיע במהלך פעולת מעבר אוטומטי לגיבוי אם השירות מזהה שהמופע הראשי עדיין מגיב. במקרה כזה, לא צריך לעשות כלום. המעבר לגיבוי לא יתרחש כי הוא לא נדרש.
ייבוא יכול להיות שקובץ הייבוא יכיל הצהרות שנדרש עבורן תפקיד סופר-משתמש. עורכים את הקובץ כדי להסיר ממנו את כל ההצהרות שנדרשת עבורן הרשאת סופר-משתמש.

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

בנוסף, לפעמים מדובר בקוד שגיאה לא ידוע. במקרה כזה, אפשר Unknown Error Codeאת ההודעה המלאה.