בדף הזה מוסבר איך להגדיר את המכונות הבאות של מסדי נתונים במקור, להעברות חד-פעמיות והומוגניות של MySQL:
- Cloud SQL ל-MySQL
- MySQL באירוח עצמי
- Amazon RDS ל-MySQL
- Amazon Aurora ל-MySQL
- Microsoft Azure Database for MySQL
הגדרת מקור ב-Cloud SQL ל-MySQL
כדי להגדיר מכונה של Cloud SQL ל-MySQL כמקור לתהליך ההעברה:
- בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף
DEFINER. אימות מטא-נתונים באמצעות משפטDEFINERDatabase Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם הסעיף
DEFINERעלולים לחסום את ההעברה. - אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת
mysql,performance_schema,information_schema,ndbinfoאוsys, ודאו שמסדי הנתונים של הרפליקה מכילים גם את הטבלאות האלה של סכימות המערכת.אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה
Unknown table in system schema. -
יוצרים חשבון משתמש ייעודי להעברה במכונה. יצירת משתמש במסמכי התיעוד של Cloud SQL. חשוב לוודא ש:
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
host=%). - הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על המגבלות של אורך הסיסמה של משתמש MySQL מופיע בבאג מספר 43439 ב-MySQL.
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
-
מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:
דאמפ מנוהל
אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:
פלט ידני
אם אתם מספקים קובצי dump משלכם שנוצרו באמצעות
mysqldump, אתם לא צריכים להקצות הרשאות נוספות לחשבון המשתמש.
הגדרת מקור MySQL באירוח עצמי
כדי להגדיר מכונה של מקור MySQL באירוח עצמי לתהליך ההעברה:
- מוודאים שכל הטבלאות (חוץ מטבלאות במסדי נתונים של המערכת) משתמשות במנוע האחסון InnoDB. אם אתם משתמשים במנוע אחסון אחר, יכול להיות שתצטרכו להמיר את הטבלאות. מידע נוסף זמין במאמר Converting Tables from MyISAM to InnoDB.
- בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף
DEFINER. אימות מטא-נתונים באמצעות משפטDEFINERDatabase Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם הסעיף
DEFINERעלולים לחסום את ההעברה. - אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת
mysql,performance_schema,information_schema,ndbinfoאוsys, ודאו שמסדי הנתונים של הרפליקה מכילים גם את הטבלאות האלה של סכימות המערכת.אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה
Unknown table in system schema. -
חשוב לוודא שהערך של
GTID_MODEמוגדר כ-ONאו כ-OFF. ערכים אחרים לא נתמכים.צריך להגדיר את
GTID_MODEל-ONב-Database Migration Service בתרחישים הבאים:- כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד.
- אם אתם מתכננים ליצור את קובצי ה-dump באופן ידני ולספק אותם במשימת ההעברה.
מידע נוסף על
GTID_MODEזמין במאמר משתנה מערכת של מזהה עסקה גלובלי. -
יוצרים חשבון משתמש ייעודי להעברה במכונה. הצהרות בנושא ניהול חשבונות חשוב לוודא ש:
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
host=%). - הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על המגבלות של אורך הסיסמה של משתמש MySQL מופיע בבאג מספר 43439 ב-MySQL.
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
-
מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:
דאמפ מנוהל
אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:
SELECTSHOW VIEWTRIGGER- למקורות עם ההגדרה
GTID_MODE = ON:RELOADבתהליך של ה-dump המנוהל, ב-Database Migration Service נדרשת ההגדרה
GTID_MODE = ONרק כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד. - בגרסאות MySQL 8.0 ואילך במקור: ודאו שלחשבון ההעברה אין את ההרשאה
BACKUP_ADMIN.
פלט ידני
אם אתם מספקים קובצי dump משלכם שנוצרו באמצעות
mysqldump, אתם לא צריכים להקצות הרשאות נוספות לחשבון המשתמש.
הגדרת מקור Amazon RDS ל-MySQL
כדי להגדיר מכונת מקור של Amazon RDS ל-MySQL לתהליך ההעברה:
- כברירת מחדל, Amazon RDS ל-MySQL משתמש במנוע האחסון InnoDB, אבל מאפשר להשתמש במנועי אחסון אחרים. מוודאים שבכל הטבלאות (חוץ מטבלאות במסדי נתונים של המערכת) נעשה שימוש במנוע האחסון InnoDB. אם אתם משתמשים במנוע אחסון אחר, יכול להיות שתצטרכו להמיר את הטבלאות. מידע נוסף זמין במאמר Converting Tables from MyISAM to InnoDB.
- בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף
DEFINER. אימות מטא-נתונים באמצעות משפטDEFINERDatabase Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם הסעיף
DEFINERעלולים לחסום את ההעברה. - אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת
mysql,performance_schema,information_schema,ndbinfoאוsys, ודאו שמסדי הנתונים של הרפליקה מכילים גם את הטבלאות האלה של סכימות המערכת.אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה
Unknown table in system schema. -
חשוב לוודא שהערך של
GTID_MODEמוגדר כ-ONאו כ-OFF. ערכים אחרים לא נתמכים. Amazon RDS ל-MySQL משתמש ב-GTID_MODE = OFFכברירת מחדל.צריך להגדיר את
GTID_MODEל-ONב-Database Migration Service בתרחישים הבאים:- כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד.
- אם אתם מתכננים ליצור את קובצי ה-dump באופן ידני ולספק אותם במשימת ההעברה.
מידע נוסף על
GTID_MODEזמין במאמר משתנה מערכת של מזהה עסקה גלובלי. -
יוצרים חשבון משתמש ייעודי להעברה במכונה. הצהרות בנושא ניהול חשבונות חשוב לוודא ש:
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
host=%). - הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על המגבלות של אורך הסיסמה של משתמש MySQL מופיע בבאג מספר 43439 ב-MySQL.
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
-
מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:
דאמפ מנוהל
אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:
SELECTSHOW VIEWTRIGGERLOCK TABLES- למקורות עם ההגדרה
GTID_MODE = ON:RELOADבתהליך של ה-dump המנוהל, ב-Database Migration Service נדרשת ההגדרה
GTID_MODE = ONרק כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד. - בגרסאות MySQL 8.0 ואילך במקור: ודאו שלחשבון ההעברה אין את ההרשאה
BACKUP_ADMIN.
פלט ידני
אם אתם מספקים קובצי dump משלכם שנוצרו באמצעות
mysqldump, אתם לא צריכים להקצות הרשאות נוספות לחשבון המשתמש.
הגדרת מקור של Amazon Aurora ל-MySQL
כדי להגדיר מכונה של Amazon Aurora ל-MySQL כמקור לתהליך ההעברה:
- בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף
DEFINER. אימות מטא-נתונים באמצעות משפטDEFINERDatabase Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם הסעיף
DEFINERעלולים לחסום את ההעברה. - אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת
mysql,performance_schema,information_schema,ndbinfoאוsys, ודאו שמסדי הנתונים של הרפליקה מכילים גם את הטבלאות האלה של סכימות המערכת.אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה
Unknown table in system schema. -
חשוב לוודא שהערך של
GTID_MODEמוגדר כ-ONאו כ-OFF. ערכים אחרים לא נתמכים. Amazon Aurora ל-MySQL משתמש ב-GTID_MODE = OFFכברירת מחדל.צריך להגדיר את
GTID_MODEל-ONב-Database Migration Service בתרחישים הבאים:- כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד.
- אם אתם מתכננים ליצור את קובצי ה-dump באופן ידני ולספק אותם במשימת ההעברה.
מידע נוסף על
GTID_MODEזמין במאמר משתנה מערכת של מזהה עסקה גלובלי. -
יוצרים חשבון משתמש ייעודי להעברה במכונה. הצהרות בנושא ניהול חשבונות חשוב לוודא ש:
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
host=%). - הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על המגבלות של אורך הסיסמה של משתמש MySQL מופיע בבאג מספר 43439 ב-MySQL.
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
-
מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:
דאמפ מנוהל
אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:
SELECTSHOW VIEWTRIGGERLOCK TABLES- למקורות עם ההגדרה
GTID_MODE = ON:RELOADבתהליך של ה-dump המנוהל, ב-Database Migration Service נדרשת ההגדרה
GTID_MODE = ONרק כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד. - בגרסאות MySQL 8.0 ואילך במקור: ודאו שלחשבון ההעברה אין את ההרשאה
BACKUP_ADMIN.
פלט ידני
אם אתם מספקים קובצי dump משלכם שנוצרו באמצעות
mysqldump, אתם לא צריכים להקצות הרשאות נוספות לחשבון המשתמש.
הגדרת מקור של Microsoft Azure Database for MySQL
כדי להגדיר מכונת מקור של Microsoft Azure Database for MySQL לתהליך ההעברה:
- בודקים אם מסד הנתונים של המקור מכיל מטא-נתונים שהוגדרו על ידי משתמשים באמצעות הסעיף
DEFINER. אימות מטא-נתונים באמצעות משפטDEFINERDatabase Migration Service להעברות MySQL הומוגניות לא מעביר חשבונות משתמשים ופרטי התחברות. מקורות שמכילים מטא-נתונים שהוגדרו על ידי חשבונות משתמשים עם הסעיף
DEFINERעלולים לחסום את ההעברה. - אם מסד הנתונים של המקור מכיל אובייקטים שמפנים לטבלאות בסכימות המערכת
mysql,performance_schema,information_schema,ndbinfoאוsys, ודאו שמסדי הנתונים של הרפליקה מכילים גם את הטבלאות האלה של סכימות המערכת.אם הטבלאות האלה לא קיימות במסדי הנתונים של הרפליקות, יכול להיות שמשימת ההעברה תיכשל ותופיע השגיאה
Unknown table in system schema. -
חשוב לוודא שהערך של
GTID_MODEמוגדר כ-ONאו כ-OFF. ערכים אחרים לא נתמכים. כברירת מחדל, Microsoft Azure Database for MySQL משתמש ב-GTID_MODE = OFF.צריך להגדיר את
GTID_MODEל-ONב-Database Migration Service בתרחישים הבאים:- כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד.
- אם אתם מתכננים ליצור את קובצי ה-dump באופן ידני ולספק אותם במשימת ההעברה.
מידע נוסף על
GTID_MODEזמין במאמר משתנה מערכת של מזהה עסקה גלובלי. בודקים את הערך של ההגדרה
require_secure_transport.כברירת מחדל, מסדי הנתונים של Microsoft Azure דורשים הצפנת SSL/TLS לכל החיבורים הנכנסים. בהתאם לערך של
require_secure_transport, משתמשים באחת מהגדרות ההצפנה הבאות כשיוצרים את פרופיל החיבור של המקור:- אם המדיניות
require_secure_transportמוגדרת לערךon, בוחרים באפשרות בסיסי, TLS או mTLS. - אם
require_secure_transportמוגדר ל-off, בוחרים באפשרות ללא.
- אם המדיניות
-
יוצרים חשבון משתמש ייעודי להעברה במכונה. הצהרות בנושא ניהול חשבונות חשוב לוודא ש:
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
host=%). - הסיסמה לחשבון לא ארוכה מ-32 תווים. מידע נוסף על המגבלות של אורך הסיסמה של משתמש MySQL מופיע בבאג מספר 43439 ב-MySQL.
- אתם מאפשרים לחשבון המשתמש הייעודי להתחבר מכל מארח (
-
מקצים את ההרשאות הנדרשות לחשבון המשתמש הייעודי להעברה. בהעברות חד-פעמיות, רשימת ההרשאות הנדרשות תלויה בשאלה אם אתם מספקים קובצי dump משלכם או משתמשים בתכונה של Database Migration Service לניהול קובצי dump:
דאמפ מנוהל
אם רוצים ש-Database Migration Service ייצור באופן אוטומטי את קובץ ה-dump המלא של מסד הנתונים במקור, צריך להקצות לחשבון המשתמש את ההרשאות הבאות:
SELECTSHOW VIEWTRIGGER- למקורות עם ההגדרה
GTID_MODE = ON:RELOADבתהליך של ה-dump המנוהל, ב-Database Migration Service נדרשת ההגדרה
GTID_MODE = ONרק כשמעבירים למכונה קיימת ביעד שמופעלות בה רפליקות לקריאה בלבד. - בגרסאות MySQL 8.0 ואילך במקור: ודאו שלחשבון ההעברה אין את ההרשאה
BACKUP_ADMIN.
פלט ידני
אם אתם מספקים קובצי dump משלכם שנוצרו באמצעות
mysqldump, אתם לא צריכים להקצות הרשאות נוספות לחשבון המשתמש.
המאמרים הבאים
במאמר תחילת העבודה עם העברות של Cloud SQL ל-MySQL מוסבר שלב אחרי שלב איך מבצעים העברות הומוגניות של Cloud SQL ל-MySQL.