گاهی اوقات حجم بانک اطلاعاتی MySQL شما ممکن است بالا باشد که بکاپ گیری و یا بازنشانی بکاپ برای شما به راحتی ممکن نیست و بهترین راه موجود استفاده از اس اس اچ (SSH) می باشد. ابتدا با آرگمان های زیر آشنا شوید:
uname نام کاربری دیتابیس به عنوان مثال: inw_datalifedb
dbname نام دیتابیس به عنوان مثال: inw_datalifedb
db_backup.sql نام فایلی که اطلاعات دیتابیس در آن است. (قبلا بکاپ گیری کردید)
1- طریقه بکاپ گیری (Backup):
mysqldump -u uname -p dbname > db_backup.sql
کاری که خط فرمان بالا در شل لینوکس انجام می دهد از دیتابیس dbname بک آپ میگیرد و بعد آن را با نام db_backup.sql ذخیره میکند. حالا شما با داشتن این بکاپ و آرشیو کردن آن میتونید هر زمان که بخواهید آن را بازنشانی یا Restore و یا دانلود کنید.
اگر قصد دارید فایل بکاپ بصورت فشرده باشد از دستور زیر استفاده کنید:
mysqldump -u uname -p dbname | gzip -9 > db_backup.sql.gz
حال برای اینکه این فایل را از حالت فشرده خارج کنید میتوانید از دستور زیر استفاده کنید:
gunzip db_backup.sql.gz
2- طریقه ری استور کردن (Restore):
ابتدا یک دیتابیس جدید بسازید سپس دستور زیر را اجرا کنید:
mysql -u uname –p dbname < db_backup.sql
و یا اگر نوع فایل به صورت فشرده بود (sql.gz) میتوانید از دستور زیر استفاده کنید:
gunzip < [db_backup.sql.gz] | mysql -u unmae -p dbname
زمان بکاپ گیری و ری استور کردن بستگی به حجم دیتابیس و قدرت سرور دارد به طور مثال یک سرور معمولی در عرض 20 ثانیه قادر به ری استور کردن 50 مگابایت اطلاعات دیتابیس است. اگر دیتابیس شما روی یک هاست دیگر بود و بک آپ را جای دیگه گذاشته بودید از دستور زیر برای انتقال بکاپ به سرور خود استفاده کنید:
wget http://www.domain.com/db_backup.sql