גיבוי ושחזור מסדי נתונים MySQL עבור Windows

תאריך יצירת דף :

סביבת אישור פעולה

MySQL
  • מהדורת הקהילה של MySQL 8.0
חלונות
  • חלונות 11

סביבה נדרשת

MySQL
  • MySQL 8.0
חלונות
  • חלונות 11
  • חלונות 10
שרת Windows
  • שרת Windows 2022
  • שרת Windows 2019
  • שרת Windows 2016
  • Windows Server 2012 R2

תנאי מוקדם

  • יש להתקין מסד נתונים MySQL
  • מסד הנתונים לגיבוי כבר קיים
  • הגדר משתני סביבה ואפשר לך להפעיל את MySQL משורת הפקודה

אודות סוגי גיבוי

לא אפרט כאן, אבל ל-MySQL יש את סוגי הגיבויים הבאים:

פקודת גיבוי הערות סוג נתונים לגיבוי
mysqldump - Mysqldump גיבוי לוגי שיטת גיבוי ישנה. ממשק המשתמש הגרפי משתמש גם בזה
mysqlpump גיבוי לוגי גרסה משופרת של mysqldump
MySQL Shell Instance Dump Utility ו-Dump Loading Utility גיבוי לוגי כגיבוי הגיוני, זה העדכני ביותר כרגע
Percona XtraBackup גיבוי פיזי מוצרי צד שלישי המאפשרים גיבוי פיזי
תוסף שיבוט גיבוי פיזי גיבוי פיזי רשמי של MySQL. עם זאת, נדרשים תוספים נוספים

גיבוי מסד נתונים באמצעות ממשק משתמש גרפי (MySQL Workbench)

אם ברצונך לפעול בצורה מאובטחת בממשק המשתמש הגרפי מבלי להשתמש בפקודות, תוכל לבצע גיבוי ב- MySQL Workbench. סוג הגיבוי המבוצע ב- MySQL Workbench הוא "mysqldump".

הפעל את MySQL Workbench.

בחר את החיבור למסד הנתונים שברצונך לגבות.

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

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

תחילה, בחר את מסד הנתונים שברצונך לגבות. באפשרותך גם לבחור יותר מאחד.

ב"אובייקטים לייצוא", אתה יכול לבחור אם לגבות פרוצדורות, טריגרים וכו'. פריט זה הוא אופציונלי.

ב"אפשרויות ייצוא", אתה יכול לבחור מבין שתי האפשרויות הבאות:

תיאור הסוגים
ייצוא לתיקיית פרוייקט Dump פלט כטבלה או כקובץ הליך אחר הליך בתיקיה נתונה.
ייצוא לקובץ עצמאי הטמע הכל בקובץ יחיד והוציא אותו.

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

לאחר ההגדרה, לחץ על התחל לייצא כפתור בפינה השמאלית התחתונה כדי להתחיל לייצא.

הייצוא מתחיל ומסתיים.

אם אתה מוציא פלט בקובץ בודד, זה ייראה כך:

אם תייצא לתיקיה, היא תיראה כך:

שחזור מסד נתונים עם ממשק משתמש גרפי (MySQL Workbench)

פתח את MySQL Workbench, בחר את החיבורים שלך, בחר את הכרטיסייה ניהול מנווט בצד שמאל ובחר ייבוא/שחזור נתונים. כפי שכתוב "ייבוא/שחזור", באפשרותך ליצור מסד נתונים חדש מהקובץ המיוצא או להחליף את מסד הנתונים המקורי.

הרחב את החלון עד שתראה את כפתור "התחל ייבוא" בפינה השמאלית התחתונה.

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

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

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

ודא שהנתונים שלך חזרו לאחר השלמת השחזור.

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

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

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

  • אירוע
  • נעילת שולחנות
  • בחר
  • הצג תצוגה

אם תיצור אותה באמצעות פקודה, היא תיראה כך: הפעל אותו עם כלי שורת הפקודה MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

דוגמה

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

הרשאות תיקיה עבור יעד הגיבוי

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

גיבוי מסד נתונים באמצעות הפקודה (mysqldump)

ישנם מספר גיבויי פקודות, אך הפעם אגבה עם "mysqldump" הישן והיציב.

לחץ לחיצה ימנית על תפריט התחל והפעל את הטרמינל (שורת הפקודה). שים לב שזה לא "לקוח שורת הפקודה MySQL 8.0".

באפשרותך לגבות אותו באמצעות הפקודה הבאה:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

דוגמה

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 יהיה אותו קוד תו כמו בעת גיבוי בממשק המשתמש הגרפי. זה מאפשר לך לייבא אותם גם לממשק המשתמש הגרפי.
  • אל תשים רווח בין שדה -p הסיסמה לסיסמה.
  • אם אתה רוצה גם להוציא מידע על מרחב השולחן, --no-tablespaces אנא בטל את הסימון . במקרה כזה, נדרשות ההרשאות של PROCESS משתמש הביצוע.

קובץ גיבוי ייווצר במיקום שצוין.

שחזור מסד נתונים באמצעות הפקודה (mysqldump)

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

אם ברצונך להפעיל אותה מפקודה, הפעל אותה בשורת הפקודה במקום ב- PowerShell. הסיבה לכך היא < ש- PowerShell אינו מאפשר סמלים.

הפעל את הפקודה הבאה:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

דוגמה

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

גיבוי אוטומטי של מסד נתונים

עבור Windows, מקובל להשתמש במתזמן משימות. התחל ביצירת קובץ אצווה. צור קובץ bat, הזן את התוכן כפי שגובו בפקודות ושמור אותו. שמירת קודי תווים באמצעות Shift-JIS. המיקום ושם הקובץ של קובץ האצווה יכולים להיות שרירותיים.

הירשם אצל מתזמן המשימות. לחץ לחיצה ימנית על תפריט התחל ובחר "נהל מחשב".

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

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

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

בכרטיסיה פעולות, הגדר את קובץ האצווה שיצרת זה עתה להפעלה.

לאחר שהגדרת כל אחד מהם, אשר אותם באמצעות כפתור אישור.

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

כעת בדוק אם הגיבוי יפעל בזמן שצוין.