חילוץ טבלה ממסד נתונים

אחד הלקוחות שלי ביצע לפני מספר ימים טעות קריטית במערכת שלו ומחק טבלה ש-90% מהאתר תלוי בה לעבודה שוטפת. התוצאה כמובן – שגיאה 500 (שגיאת שרת פנימית).

הוא עידכן אותי בתקלה ובדקתי את קובץ הגיבוי האחרון (חצי שעה לפני הטעות) לשמחתו הגיבוי התקין, לצערי הגיבוי שקל 10Gb.

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

השימוש בסקריפט מאוד פשוט:

perl extract_sql.pl -t table_to_export -r mysql_backup.sql > mysql_backup_table.sql

table_to_export – הטבלה לשחזור

mysql_backup.sql – קובץ הגיבוי המקורי

הסימן < – את כל הפלט (במקרה הזה – הטבלה) תכתוב לקובץ בשם mysql_backup_table.sql

mysql_backup_table.sql – הקובץ שאליו תיכתב הטבלה לשחזור

5 דקות לאחר הטעות הקריטית האתר היה שוב באוויר.

פורסם בקטגוריה לינוקס, עם התגים , , . אפשר להגיע לכאן עם קישור ישיר.

כתיבת תגובה

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