העברה מ-Amazon RDS MySQL ללא הרשאות SUPERUSER

יכול להיות שיידרשו כמה שלבים נוספים כדי ליצור ולהפעיל בהצלחה משימת העברה עם מקור או מקורות של Amazon RDS MySQL שלא מאפשרים הרשאות SUPERUSER.

יצירת משימת העברה של Amazon RDS MySQL

  1. ב-MySQL, הגדרת שם המארח של המקור מוגבלת ל-60 תווים. שמות המארחים של מסדי נתונים של Amazon RDS בדרך כלל ארוכים מ-60 תווים. אם זה המצב במסד הנתונים שאתם מעבירים, צריך להגדיר הפניה אוטומטית של DNS כדי ליצור רשומת CNAME שמקשרת את שם הדומיין שלכם לשם הדומיין של מופע מסד הנתונים של Amazon RDS. מידע נוסף על הגדרת DNS CNAME זמין במסמכי התיעוד של Cloud DNS או במסמכי התיעוד של AWS Route53.

  2. צריך לאחסן יומנים בינאריים באחסון בלוקים רגיל, ואי אפשר לאחסן אותם ב-Amazon S3.

  3. כדי ליצור משימת מיגרציה רציפה עם קובץ dump ידני, צריך להפעיל את GTID. הערך של GTID_MODE צריך להיות ON,‏ OFF או OFF_PERMISSIVE. הערך GTID_MODE של ON_PERMISSIVE לא נתמך.

הפעלת משימת ההעברה

כדי לבצע את הגיבוי המלא הראשוני, גם עבור MySQL Amazon RDS וגם עבור מקורות ללא הרשאת SUPERUSER, צריך להפסיק את הכתיבה במקור למשך כ-20 שניות.

אפשר להפסיק את פעולות הכתיבה על ידי מעבר מ-read replica או על ידי הפסקת פעולות הכתיבה ישירות במסד הנתונים של המקור.

כדי לבצע העברה מ-read replica:

  1. יוצרים העתק לקריאה ב-Amazon Web Services ‏ (AWS).

  2. מגדירים את פרופיל החיבור למקור של Database Migration Service עם פרטי הקישוריות של העותק לקריאה ב-AWS.

  3. אחרי שהסטטוס של עבודת ההעברה משתנה ל-Starting | Waiting for source writes to stop, משביתים את השכפול בין השרת הראשי של AWS לבין העותק לקריאה שלו למשך כ-20 שניות.

  4. אחרי שהסטטוס של משימת ההעברה משתנה ל-Running | Full dump in progress, צריך להפעיל מחדש את השכפול של העותק לקריאה ב-AWS.

במקום להפסיק את פעולות הכתיבה על ידי מעבר מרפליקה לקריאה ב-AWS, אפשר להפסיק את פעולות הכתיבה ישירות במסד הנתונים של המקור. אפשר להשתמש בסקריפט כדי לוודא שכל הכתיבה למסד הנתונים של המקור הופסקה.

האינדיקציה מתי לעצור ולחדש את הכתיבה נמצאת בסטטוס ובסטטוס המשני של משימת ההעברה. אפשר לעקוב אחרי שינויי הסטטוס ב-API, במסוף או ישירות ב-Cloud Monitoring:

  1. אחרי שהסטטוס משתנה ל-Starting | Waiting for source writes to stop, צריך להפסיק את הכתיבה למסד הנתונים של המקור. ‫Database Migration Service מזהה שהכתיבה נעצרה, והסטטוס משתנה ל-Running | Preparing the dump.

  2. אחרי שהסטטוס משתנה לRunning | Full dump in progress, אפשר להמשיך לכתוב במסד הנתונים של המקור.

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