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