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

בדף הזה מוסבר איך להגדיר את המכונות הבאות של מסדי נתונים במקור, לצורך העברות חד-פעמיות והומוגניות של MySQL:

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

כדי להגדיר מכונת מקור של Cloud SQL ל-MySQL לתהליך ההעברה:

  1. בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות פסקה DEFINER. אימות מטא-נתונים באמצעות משפט DEFINER

    השירות להעברת נתונים של מסדי נתונים להעברות הומוגניות של MySQL לא מעביר חשבונות משתמשים והתחברויות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם סעיף DEFINER עשויים לחסום את ההעברה.

  2. אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת mysql, performance_schema, information_schema, ndbinfo או sys, צריך לוודא שגם מסדי הנתונים של העותקים כוללים את הטבלאות האלה של סכימת המערכת.

    אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה Unknown table in system schema .

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

    • אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (host=%).
    • הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על מגבלות אורך הסיסמה של משתמש MySQL זמין במאמר MySQL Bug #43439.
  4. מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. להעברות חד-פעמיות, הרשימה המלאה של ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונת ה-dump המנוהלת של Database Migration Service:

    פלט מנוהל

    אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:

    • SELECT
    • SHOW VIEW
    • TRIGGER
    • RELOAD
    • בגרסאות MySQL 8.0 ואילך של המקור: ודאו שלחשבון ההעברה אין את ההרשאה BACKUP_ADMIN.

    פלט ידני

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

הגדרת מקור MySQL באירוח עצמי

כדי להגדיר מכונה של מקור MySQL באירוח עצמי לתהליך ההעברה:

  1. מוודאים שכל הטבלאות (חוץ מטבלאות במסדי נתונים של המערכת) משתמשות ב מנוע האחסון InnoDB. אם אתם משתמשים במנוע אחסון אחר, יכול להיות שתצטרכו להמיר את הטבלאות. מידע נוסף זמין במאמר Converting Tables from MyISAM to InnoDB.
  2. בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות פסקה DEFINER. מידע נוסף זמין במאמר בנושא אימות מטא-נתונים באמצעות סעיף DEFINER.

    ‫Database Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שמוגדרים על ידי חשבונות משתמשים עם הסעיף DEFINER עלולים לחסום את ההעברה.

  3. אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת mysql, performance_schema, information_schema, ndbinfo או sys, צריך לוודא שגם מסדי הנתונים של העותקים כוללים את הטבלאות האלה של סכימת המערכת.

    אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה Unknown table in system schema .

  4. חשוב לוודא שהערך של GTID_MODE מוגדר כ-ON או כ-OFF. ערכים אחרים לא נתמכים.

    צריך להגדיר את GTID_MODE ל-ON ב-Database Migration Service בתרחישים הבאים:

    מידע נוסף על GTID_MODE זמין במאמר משתנה מערכת של מזהה עסקה גלובלי.

  5. יוצרים חשבון משתמש ייעודי להעברה במכונה שלכם. ראו דוחות ניהול חשבון. חשוב לוודא את הפרטים הבאים:

    • אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (host=%).
    • הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על מגבלות אורך הסיסמה של משתמש MySQL זמין במאמר MySQL Bug #43439.
  6. מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות המלאה הנדרשת תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:

    פלט מנוהל

    אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את כל הנתונים ממסד הנתונים של המקור, צריך להקצות את ההרשאות הבאות לחשבון המשתמש:

    פלט ידני

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

הגדרת מקור Amazon RDS ל-MySQL

כדי להגדיר מכונה של Amazon RDS ל-MySQL כמקור לתהליך ההעברה:

  1. ב-Amazon RDS for MySQL נעשה שימוש ב מנוע האחסון InnoDB כברירת מחדל, אבל אפשר להשתמש במנועי אחסון אחרים. מוודאים שכל הטבלאות (חוץ מטבלאות במסדי נתונים של המערכת) משתמשות במנוע האחסון InnoDB. אם משתמשים במנוע אחסון אחר, יכול להיות שיהיה צורך להמיר את הטבלאות. מידע נוסף זמין במאמר Converting Tables from MyISAM to InnoDB.
  2. בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות פסקה DEFINER. אימות מטא-נתונים באמצעות משפט DEFINER

    השירות להעברת נתונים של מסדי נתונים להעברות הומוגניות של MySQL לא מעביר חשבונות משתמשים והתחברויות. מקורות שמכילים מטא-נתונים שמוגדרים על ידי חשבונות משתמשים עם הסעיף DEFINER עלולים לחסום את ההעברה.

  3. אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת mysql,‏ performance_schema,‏ information_schema,‏ ndbinfo או sys, ודאו שגם מסדי הנתונים של הרפליקה מכילים את הטבלאות האלה של סכימות המערכת.

    אם טבלאות כאלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שעבודת ההעברה תיכשל עם השגיאה Unknown table in system schema .

  4. חשוב לוודא שהערך של GTID_MODE מוגדר כ-ON או כ-OFF. ערכים אחרים לא נתמכים. ‫Amazon RDS ל-MySQL משתמש ב-GTID_MODE = OFF כברירת מחדל.

    צריך להגדיר את GTID_MODE ל-ON ב-Database Migration Service בתרחישים הבאים:

    מידע נוסף על GTID_MODE זמין במאמר בנושא משתנה מערכת גלובלי של מזהה עסקה.

  5. יוצרים חשבון משתמש ייעודי להעברה במכונה שלכם. ראו דוחות ניהול חשבון. חשוב לוודא את הפרטים הבאים:

    • אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (host=%).
    • הסיסמה של החשבון לא ארוכה מ-32 תווים. מידע נוסף על מגבלות אורך הסיסמה של משתמש MySQL זמין במאמר MySQL Bug #43439.
  6. מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. להעברות חד-פעמיות, הרשימה המלאה של ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונת ה-dump המנוהלת של Database Migration Service:

    פלט מנוהל

    אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את כל הנתונים ממסד הנתונים של המקור, צריך להקצות את ההרשאות הבאות לחשבון המשתמש:

    פלט ידני

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

הגדרת מקור של Amazon Aurora ל-MySQL

כדי להגדיר מכונה של Amazon Aurora ל-MySQL כמקור לתהליך ההעברה:

  1. בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף DEFINER. מידע נוסף זמין במאמר בנושא אימות מטא-נתונים באמצעות סעיף DEFINER.

    השירות להעברת נתונים של מסדי נתונים להעברות הומוגניות של MySQL לא מעביר חשבונות משתמשים והתחברויות. מקורות שמכילים מטא-נתונים שמוגדרים על ידי חשבונות משתמשים עם הסעיף DEFINER עלולים לחסום את ההעברה.

  2. אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת mysql,‏ performance_schema,‏ information_schema,‏ ndbinfo או sys, ודאו שגם מסדי הנתונים של הרפליקה מכילים את הטבלאות האלה של סכימות המערכת.

    אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה Unknown table in system schema .

  3. חשוב לוודא שהערך של GTID_MODE מוגדר כ-ON או כ-OFF. ערכים אחרים לא נתמכים. ‫Amazon Aurora ל-MySQL משתמש ב-GTID_MODE = OFF כברירת מחדל.

    במקרים הבאים, השירות להעברת נתונים מחייב שהערך של GTID_MODE יהיה ON:

    מידע נוסף על GTID_MODE זמין במאמר בנושא משתנה מערכת גלובלי של מזהה עסקה.

  4. יוצרים חשבון משתמש ייעודי להעברה במכונה שלכם. ראו דוחות ניהול חשבון. חשוב לוודא את הפרטים הבאים:

    • אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (host=%).
    • הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על מגבלות האורך של סיסמאות משתמשים ב-MySQL זמין במאמר MySQL Bug #43439.
  5. מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות המלאה הנדרשת תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה המנוהלת של קובצי dump ב-Database Migration Service:

    פלט מנוהל

    אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:

    פלט ידני

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

הגדרת מקור של Microsoft Azure Database for MySQL

כדי להגדיר מכונת מקור של Microsoft Azure Database for MySQL לתהליך ההעברה:

  1. בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף DEFINER. אימות מטא-נתונים באמצעות משפט DEFINER

    השירות להעברת נתונים של מסדי נתונים להעברות הומוגניות של MySQL לא מעביר חשבונות משתמשים והתחברויות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם סעיף DEFINER עשויים לחסום את ההעברה.

  2. אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת mysql, performance_schema, information_schema, ndbinfo או sys, צריך לוודא שגם מסדי הנתונים של העותקים כוללים את הטבלאות האלה של סכימת המערכת.

    אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה Unknown table in system schema .

  3. חשוב לוודא שהערך של GTID_MODE מוגדר כ-ON או כ-OFF. ערכים אחרים לא נתמכים. ב-Microsoft Azure Database for MySQL נעשה שימוש ב-GTID_MODE = OFF כברירת מחדל.

    במקרים הבאים, השירות להעברת נתונים מחייב שהערך של GTID_MODE יהיה ON:

    מידע נוסף על GTID_MODE זמין במאמר בנושא משתנה מערכת גלובלי של מזהה עסקה.

  4. בודקים את הערך של ההגדרה require_secure_transport.

    כברירת מחדל, מסדי הנתונים של Microsoft Azure דורשים הצפנת SSL/TLS לכל החיבורים הנכנסים. בהתאם לערך של require_secure_transport, משתמשים באחת מהגדרות ההצפנה הבאות כשיוצרים את פרופיל חיבור למקור:

    • אם המדיניות require_secure_transport מוגדרת לערך on, בוחרים באפשרות בסיסי, TLS או mTLS.
    • אם הערך של require_secure_transport הוא off, בוחרים באפשרות ללא.
  5. יוצרים חשבון משתמש ייעודי להעברה במכונה שלכם. הצהרות בנושא ניהול חשבונות חשוב לוודא את הפרטים הבאים:

    • אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (host=%).
    • הסיסמה של החשבון לא ארוכה מ-32 תווים. מידע נוסף על מגבלות אורך הסיסמה של משתמש MySQL זמין במאמר MySQL Bug #43439.
  6. מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות המלאה הנדרשת תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של קובצי dump מנוהלים של Database Migration Service:

    פלט מנוהל

    אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:

    פלט ידני

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

המאמרים הבאים

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