irmizban
January 27th, 2012, 00:24
سلام.
برای صاحبان سایت های دینامیک گرفتن بک آپ از دیتایس خیلی مهمه و اگر این بک آپ حجمش بالا باشه ( مثلا بالای 100 مگابایت یا حتی حدود 1 گیگابایت ) بک آپ گیری دشوار خواهد شد و با سرعتی که ما در ایران داریم تقریبا غیر ممکن هست .
حالا من میخوام آموزش گرفتن بک آپ و ریستورکردن آن رو از طریق خود سرور بیان کنم امیدوارم مفید باشه.
برای اینکار شما باید به سرور لینوکسی با دسترسی شل داشته باشید . ( حتما باید دسترسی شما root باشه)
اول : برنامه PuTTY رو دانلود کنیداین نرم افزار به نظر من حرفه ای ترین در shell هست > http://www.chiark.greenend.org.uk/~s.../download.html (http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html)
اینک مستقیم دانلود : http://the.earth.li/~sgtatham/putty/.../x86/putty.exe (http://the.earth.li/%7Esgtatham/putty/latest/x86/putty.exe)
با اجرای برنامه و ورود به فضای شل سایت ( اگر کار با این نرم افزار رو نمیدونید بگید تا توضیحی مختصر بدم) کار رو آغاز میکنیم .
uname = نام کاربری دیتابیس (username)
dbname= نام دیتابیس
db_backup.sql = نام فایلی که اطلاعات دیتابیس در اون هست .
1_ طریقه بک آپ گیری (backup) :
mysqldump -u uname -p dbname > db_backup.sql
کاری که خط فرمان بالا در شل لینوکس انجام میده از دیتابیس dbname بک آپ میگیره و بعد اون رو با نام db_backup.sql ذخیر میکنه .
حالا شما با داشتن این بک آپ و آرشیو کردن اون میتونید هر زمان که بخواهین اون رو ریستو یا دانلود کند...
* اگر قصد دارید فایل بک آپ رو بصورت فشورد ( مثل zip) داشته باشین دستور زیر رو استفاده کنید .
mysqldump -u uname -p dbname | gzip -9 > db_backup.sql.gz
دراین حالت فایل تولید شده به صورت فشرده در میاد .
برای اینکه اون رو هم از حالب فشرده خارج کنید یعنی sql.gz به .sql دستور زیر :
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
زمان بک آپ گیری و ریستو کردن بستگی به حجم دیتابیس داره نیز قدرت سرور مثلا من سروی که داشتم سی پیو 8 هسته ای بود و حجم دیتابیس حدود 1.5 گیگابایت برای ریستور کردن حدود 5 دقیقه زمان بورد.
اگر دیتابیس شما روی یک هاست دیگه هست و بک آپ رو جای دیگه گذاشتین از دستور زیر برای انتقال اون به سرور خودتون استفاده کنید .
wget http://domain.com/database.sql
این مقاله رو خودم در یکی از فروم ها قبلا متشر کرده بودم که دیدم بد نیست ایجا هم بهش پرداخته بشه .
موفق باشید .
برای صاحبان سایت های دینامیک گرفتن بک آپ از دیتایس خیلی مهمه و اگر این بک آپ حجمش بالا باشه ( مثلا بالای 100 مگابایت یا حتی حدود 1 گیگابایت ) بک آپ گیری دشوار خواهد شد و با سرعتی که ما در ایران داریم تقریبا غیر ممکن هست .
حالا من میخوام آموزش گرفتن بک آپ و ریستورکردن آن رو از طریق خود سرور بیان کنم امیدوارم مفید باشه.
برای اینکار شما باید به سرور لینوکسی با دسترسی شل داشته باشید . ( حتما باید دسترسی شما root باشه)
اول : برنامه PuTTY رو دانلود کنیداین نرم افزار به نظر من حرفه ای ترین در shell هست > http://www.chiark.greenend.org.uk/~s.../download.html (http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html)
اینک مستقیم دانلود : http://the.earth.li/~sgtatham/putty/.../x86/putty.exe (http://the.earth.li/%7Esgtatham/putty/latest/x86/putty.exe)
با اجرای برنامه و ورود به فضای شل سایت ( اگر کار با این نرم افزار رو نمیدونید بگید تا توضیحی مختصر بدم) کار رو آغاز میکنیم .
uname = نام کاربری دیتابیس (username)
dbname= نام دیتابیس
db_backup.sql = نام فایلی که اطلاعات دیتابیس در اون هست .
1_ طریقه بک آپ گیری (backup) :
mysqldump -u uname -p dbname > db_backup.sql
کاری که خط فرمان بالا در شل لینوکس انجام میده از دیتابیس dbname بک آپ میگیره و بعد اون رو با نام db_backup.sql ذخیر میکنه .
حالا شما با داشتن این بک آپ و آرشیو کردن اون میتونید هر زمان که بخواهین اون رو ریستو یا دانلود کند...
* اگر قصد دارید فایل بک آپ رو بصورت فشورد ( مثل zip) داشته باشین دستور زیر رو استفاده کنید .
mysqldump -u uname -p dbname | gzip -9 > db_backup.sql.gz
دراین حالت فایل تولید شده به صورت فشرده در میاد .
برای اینکه اون رو هم از حالب فشرده خارج کنید یعنی sql.gz به .sql دستور زیر :
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
زمان بک آپ گیری و ریستو کردن بستگی به حجم دیتابیس داره نیز قدرت سرور مثلا من سروی که داشتم سی پیو 8 هسته ای بود و حجم دیتابیس حدود 1.5 گیگابایت برای ریستور کردن حدود 5 دقیقه زمان بورد.
اگر دیتابیس شما روی یک هاست دیگه هست و بک آپ رو جای دیگه گذاشتین از دستور زیر برای انتقال اون به سرور خودتون استفاده کنید .
wget http://domain.com/database.sql
این مقاله رو خودم در یکی از فروم ها قبلا متشر کرده بودم که دیدم بد نیست ایجا هم بهش پرداخته بشه .
موفق باشید .