برگرداندن بک آپ یک ستون از دیتابیس

امروز یه حادثه کوچیک رخ داد. به اشتباه یک ستون از یک table پاک شد. این موضوع اگه یک backup‌ مطمئن نداشته باشی یک فاجعه است و احتمالا درد سر های زیادی خواهید داشت.

اما اگه بک آپ داشته باشی خیلی راحت می تونید از فایل  backup ستونی که می خواهید را اصلاح کنید.

مشکل پیش رو اینه که نمی تونیم مستقیم از بک آپ کل دیتابیس یک سطر از table را برگرداند. خوب اما راه حل:

۱- بر گرداندن بک آپ روی یک دیتا بیس با اسم متفرقه

mysql -u root -p

>create database backup;

mysql -u root -p backup < site-backup.sql

۲- جایگزین کردن ستون از روی ستون دیتابیس backup

mysql -u root -p

> update maindb.tablename, backupdb.tablename set maindb.tablename.corrupt_column = backupdb.tablename.corrupt_column where maindb.tablename.id = backupdb.tablename.id;;

با دستور آخر ستون corrupt_column از جدول tablename از دیتابیس backupdb بر روی ستون corrupt_column از جدول tablename از جدول maindb به صورت سطر به سطر با شرط اینکه سطر ها دارای id یکسان باشند کپی می شود.