לצערינו MYSQL לא תמיד מתגבה כראוי אפילו אם משתמשים נכון בכל הפקודות הנכונות - אתן פה דוגמא -
גיבוי נכון של מסד נתונים שלם -
mysqldump -u [user] -p [database_name] > [filename].sql
אפשר גם - אותו דבר רק לטבלה ספציפית -
mysqldump -u [user] -p [database_name] [tablename] > [filename].sql
כמו כן ניתן לשנות את שמם במקצת במידה ואתם רוצים לפי ימים חודשים וכו - דוגמא -
mysqldump -u [user] -p [database_name] [tablename] > [filename]_11-04-23.sql
ואז בכדי לשחזר התהליך אמור להיות פשוט לרוב - אם אין תקלות בין לבין -
mysql -u [user] -p [database_name] < [filename].sql
אבל לפעמים ישנם בעיות - אך לא כל הקובץ עם בעיות אז אפשר לעשות בכדי לשחזר מה שיש -
mysql -u userName -p -f -D dbName < dbName.sql
לפעמים צריך גם שלא יהיה הגבלה בינארית - אז ביחד זה -
mysql -u userName --binary-mode=1 -p -f -D dbName < dbName.sql
לרוב ברוב המקרים הגיבוי הרגיל והשיחזור הרגיל עובד כראוי אבל הנה הבעיות שיכולות לצוץ -
לא יתבצע גיבוי אוטומתי או בכלל של VIEWS , טבלאות ישנות בעלות נפתח גדול יכולות לפעמים פשוט לא להיקרא נכון או לא להיווצר כי היו בהם שינויים והם לא עודכנו למפה הכללית של המסד ולכן לא עודכנו לתוך קובץ הגיבוי בפועל ואז שיחזורם לא אפשרי, מצבים של תאים לא תקינים ועוד , מסד רבותי זה דבר חיי כל רגע ורגע ברמת המילי שניות הוא עובד , אם הוא לא מתוכנן כראוי , או לא מתחוזק כראוי , תקלות קורות.
כל עוד המסד המדובר הינו בגדלים של כחצי גיהג - גיגה - אין הרבה וכל גיבוי יעשה את העבודה.
אבל בגרע שהמסדים מתחילים להיות לכיוון ה10 גיגה צפונה - אני אישית היתי עובר לגבות בתצורה של טבלאות
לא מגבה את כל המסד מלמעלה אלה מריץ עשרות גיבויים - גיבוי פר טבלה בתוך המסד ... ככה הזיחזורים יותר מדוייקים וניתן לבצע בדיקות כל הזמן בנוגע לטיב הגיבוי שבידכם.