خوش آمديد!
06:16 يكشنبه 31 ارديبهشت ماه ، 1391
تبلیغات راست
پکیج آموزش جامع دوره مهندسی شبکه مایکروسافت MCSE
خبر خوان

خبر خوان

دسته بندی مقالات
وب
  مقالات HTML
  مقالات PHP
  مقالات ASP.NET
  مقالات CSS
  مقالات XML
  مقالات JavaScript
  مقالات CMS
  مقالات Dreamweaver
  مقالات ColdFusion
  مقالات IIS
  مقالات Apache
  مقالات AJAX
  مقالات Flex
  مقالات AIR
  مقالات Expression Web
  مقالات SEO
  مقالات عمومی وب
برنامه نویسی
  مقالات C / C++
  مقالات C#
  مقالات VB.NET
  مقالات VB6
  مقالات دلفی
  مقالات VbScript
  مقالات اکشن اسکریپت
  مقالات Python
  مقالات سیلور لایت
  مقالات عمومی برنامه نویسی
سخت افزار
  مقالات CPU
  مقالات RAM
  مقالات دیسک سخت
  مقالات MainBoard
  مقالات کیبورد
  مقالات کارت گرافیک
  مقالات چاپگر
  مقالات عمومی سخت افزار
سیستم عامل
  مقالات ویندوز سون
  مقالات ویندوز ویستا
  مقالات ویندوز XP
  مقالات لینوکس
  مقالات سیستم عامل مک
  مقالات عمومی سیستم عامل
گرافیک دو بعدی
  مقالات فتوشاپ
  مقالات Illustrator
  مقالات Corel
  مقالات Painter
  مقالات QuarkXpress
  مقالات InDesign
  مقالات Fireworks
  مقالات Lightroom
  مقالات Bridge
  مقالات آکروبات
  مقالات فلش
  مقالات Expression Medial
  مقالات Expression Blend
  مقالات عمومی گرافیک دو بعدی
گرافیک سه بعدی و انیمیشن سازی
  مقالات تردی مکس
  مقالات مایا
  مقالات اتوکد
  مقالات عمومی گرافیک سه بعدی
میکس و مونتاژ
  مقالات After Effects
  مقالات پرمیر
  مقالات ادیوس
  مقالات SoundBooth
  مقالات Apple Reason
  مقالات Corel Video Studio
  مقالات Audition
  مقالات Pro Tools
  مقالات FLStudio
  مقالات SoundFordge
  مقالات عمومی ویرایش صوت و فیلم
پایگاه داده
  مقالات SQL Server
  مقالات اکسس
  مقالات MySQL
  مقالات اراکل
  مقالات عمومی پایگاه داده
شبکه
  مقالات اکسچنج سرور
  مقالات SharePoint Server
  مقالات ویندوز سرور 2003
  مقالات ویندوز سرور 2008
  مقالات ISA Server
  مقالات VMware
  مقالات MS Virtualization
  مقالات MCSE
  مقالات MCITP
  مقالات CCNA
  مقالات CCNP
  مقالات CCIE
  مقالات مایکروسافت System Center
  مقالات Wireless
  مقالات Wi-Fi
  مقالات WiMax
  مقالات Citrix
  مقالات DSL
  مقالات BizTalk
  مقالات Commerce Server
  مقالات Forefront
  مقالات Groove
  مقالات Communication Server
  مقالات Project Server
  مقالات Storage Server
  مقالات امنیت شبکه
  مقالات VoIP
  مقالات عمومی شبکه
آفیس و برنامه های تجاری
  مقالات Word
  مقالات Excel
  مقالات Access
  مقالات PowerPoint
  مقالات Visio
  مقالات OneNote
  مقالات Publisher
  مقالات Outlook
  مقالات Amalga
  مقالات Dynamics AX
  مقالات Dynamics CRM
  مقالات Dynamics GP
  مقالات Dynamics NAV
  مقالات Dynamics POS
  مقالات Dynamics RMS
  مقالات Dynamics SL
  مقالات عمومی آفیس و برنامه های تجاری

پشتیبان گیری از بانک های اطلاعاتی MySQL

 

پشتیبان گیری از بانک های اطلاعاتی MySQL

امروزه با همه گیر شدن سایت های پویا، بسیاری از سرویس دهنده های وب که این نرم افزارهای کاربردی وب را اجرا می کنند، دارای تعداد زیادی بانک اطلاعاتی هستند که همانند فایل های دیگر نیاز است تا بصورت مرتب از آنها نسخه های پشتیبان تهیه شود. گاهی اهمیت نسخه های پشتیبان از بانک های اطلاعاتی از نسخه های پشتیبان فایل سیستم بیشتر است. دلیل آن هم روشن است، بسیاری از اطلاعات مهم در بانک های اطلاعاتی ذخیره می شوند نه در فایل سیستم!
در مقاله حاضر اسکریپتی را ایجاد خواهیم کرد که عمل پشتیبان گیری را بطور خودکار بر روی یک سرویس دهنده ثالث در ساعات خاصی از روز انجام دهد. اتصال به سرویس دهنده ثالث می تواند بصورت اشتراک های nfs و یا از طریق ssh صورت پذیرد.



در قدم نخست باید موارد ابتدایی و لازم برای انجام پشتیبان گیری را فراهم کرد. نخست باید بر روی سرویس دهنده بانک اطلاعاتی MySQL کاربری را ایجاد کرد که دارای حداقل دسترسی برای خواندن و ذخیره اطلاعات باشد. برای این منظور دستورات زیر را وارد می کنیم:

mainserver# mysql -u root -p
mysql> grant select,lock tables on *.* to bkuser@localhost identified by 'bkpass ';

بجای bkuser و bkpass می توانید نام کاربر و کلمه عبور مورد نظر خودتان را استفاده نمایید.
در صورتی که بخواهید تا فایل های نسخه های پشتیبان از طریق ssh در سرویس دهنده مقصد کپی شوند، باید چند کار اضافه تر نیز انجام دهید. بدلیل اینکه ارتباط باید بصورت خودکار و بدون دخالت کاربر صورت گیرد، باید عملیاتی را انجام داد تا باعث شود تا سرویس دهنده اصلی بتواند بدون نیاز به کلمه عبور به سرویس دهنده مقصد متصل گردد. برای این کار از روش ارسال کلید عمومی ssh سرویس دهنده مقصد بر روی سرویس دهنده اصلی استفاده می شود. برای ایجاد کلیک عمومی ssh بر روی سرویس دهنده مقصد، دستور زیر را وارد نمایید:

backupserver$ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''
backupserver$ chmod -R 700 .ssh /

سپس فایل id_dsa.pub موجود در شاخه ssh . را در شاخه root/.ssh / سرویس دهنده اصلی با نام authorized_keys2 کپی نمایید:

backupserver$ scp .ssh/id_dsa.pub root@mainserver:/root/.ssh/authorized_keys2

بسته به شماره نسخه سرویس دهنده ssh ای که بر روی سرویس دهنده اصلی در حال اجراست، ممکن است نیاز داشته باشید تا نام فایل authorized_keys2 به authorized_keys تغییر داده شود. برای این منظور می توانید یک لینک از آن به فایل authorized_keys ایجاد کنید:

mainserver# ln -s /root/.ssh/authorized_keys2 /root/.ssh/authorized_keys

نکته مهمی که باید رعایت کنید این است که کلید عمومی یک کاربر غیر از کاربر ریشه را بر روی سرویس اصلی قرار دهید تا در صورتی که احتمالا سرویس دهنده اصلی شکسته شود، امکان دسترسی کامل نفوذگر بر روی سرویس دهنده پشتیبان فراهم نگردد. برای مثال می توانید یک کاربر با نام backup بر روی سرویس دهنده مقصد ایجاد کنید. پس از کپی کلید بر روی سرویس دهنده اصلی، مجوز آنرا برای امنیت بیشتر بر روی 600 تنظیم کنید:

mainserver# chmod 600 /root/.ssh/authorized_keys *

در مرحله بعدی شاخه ای را که فایل های پشتیبان در آن ذخیره خواهد شد را بر روی سرویس دهنده مقصد ایجاد می کنیم:

backupserver$ mkdir /home/backup/bkstore /

اکنون تمامی مقدمات برای بکارگیری اسکریپت پشتیبان گیری از بانک اطلاعاتی انجام شده است. اسکریپت مورد استفاده ما دارای ساختاری به شکل زیر است:

# !/bin/sh
DATESTAMP="`date +%Y-%m-%d `
echo -n "Processing Auto DB Backup...”
echo

cd /var/lib/mysql /
for x in *
do
if [ $x = "my.cnf" ]; then
echo $x
echo "invalid DB...”
else
echo $x
echo "valid DB...”
mysqldump -u bkuser -pbkpass $x > /root/dbs/tmp/$x.$DATESTAMP.sql
fi
done
cd /root/dbs /
rm `find tmp/ -size 0 `
echo "Compressing DB Backups...”
tar -czf dbs.$DATESTAMP.tar.gz tmp / *
rm tmp/*.sql
echo "Copying DBs...”
scp dbs.$DATESTAMP.tar.gz backup@backupserver:/home/backup/bkstore /
cd

همانطور که مشاهده می کنید، نحوه عمل این اسکریپت بسیار ساده است. اسکریپت وارد شاخه var/lib/myslq / که در آنجا بانک های اطلاعاتی ذخیره می شود شده و با استفاده از یک حلقه ساده for و دستور mysqldump شروع به پشتیبان گیری از بانک های اطلاعاتی می کند. در نهایت نیز تمامی فایل ها را بصورت فشرده در آورده و با استفاده از دستور scp بر روی سرویس دهنده مقصد کپی می کند. در صورتی که سرویس دهنده مقصد با استفاده از اشتراک nfs به سرویس دهنده اصلی متصل بود، تنها به یک دستور cp اکتفا می کردیم و نیازی به بکارگیری کلیدهای عمومی ssh وجود نداشت ولی امنیت در هنگام انتقال اطلاعات در حالت دوم یعنی بکارگیری ssh بیشتر است.

اسکریپت بالا را با نامی مانند mysqlbk در مسیر root / ذخیره کرده و مجوز اجرا به آن می دهیم:

mainserver# chmod +x mysqlbk

برای اینکه عملیات پشتیبان گیری بصورت خودکار و در ساعت خاصی از روز انجام گیرد، می توانیم از cron استفاده کنیم. دستور زیرا را تایپ کرده:

mainserver# crontab -e

سپس خط زیر را وارد می کنیم:

0 3 * * * /root/mysqlbk

از این پس هر روز در ساعت ۳ صبح عملیات پشتیبان گیری و کپی بر روی سرویس دهنده مقصد بصورت خودکار انجام خواهد شد.
برای افزایش ضریب اطمینان می توان اسکریپت خودکاری را بر روی سرویس دهنده مقصد تعبیه کرد که فایل های پشتیبان را به محل امن دیگری انتقال دهد.

با ایجاد تغییرات کوچکی در اسکریپت فوق می توان از آن برای پشتیبان گیری دایرکتوری های خانگی کاربران نیز استفاده کرد.



ارسال شده در مورخه : شنبه، 16 آبان ماه ، 1388   چاپ مطلب

آموزش Exchange


مرتبط با موضوع :

 نصب و پیکربندی سرویس دهنده بانک اطلاعاتی MySQL  [شنبه، 16 آبان ماه ، 1388]


تبلیغات چپ
پکیج Windows Server 2008 MCITP Enterprise Administ
آخرین مقالات
· لپ تاپ های Samsung Series 7 Game 3D
· پرطرفدارترین موبایل های هوشمند تا بهار ۲۰۱۲
· Sony Unveila Xperia Sola و صفحه نمایش شناور
· کنترل دستگاه اندرویدی توسط دسکتاپ
· 10 تبلت برتر بهار سال 2012
· Optimus 3D Max دومین گوشی سه بعدی ال جی به عنوان محصولی بی همتا
· G6-1160EE لپ تاپ باقابلیت و پرمخاطب HP
· راه های افزایش امنیت در اینترنت
· آموزش مراحل پاک کردن آرشیو یاهو مسنجر
· مانیتورهایی مخصوص بازی های ویدئویی و گیمرها
· نکات مهم در مورد سرچ گوگل
· معرفی بهترین تبلت های بازار از نظر کیفیت نمایشگر
· معرفی رایانه ها و تبلت های سازگار با ویندوز ۸
· ویژگی های Galaxy note 10.1 شرکت سامسونگ
· مهمترین دلایل خرابی سریع لپ تاپ ها
· معرفی ۶ لپ تاپ برتر مخصوص گیمرهای حرفه ای
· نصب مجدد ویندوز ۸ با یک کلیک ساده توسط مایکروسافت!
· وای-گیگ چیست؟
· هر آنچه باید در مورد اولترابوک ها بدانیم
· معرفی Google Cloud Print و آموزش راه اندازی این سرویس
· بررسی تلفن هوشمند HTC One X
· فوجیتسو اولین سری از اولترابوک های خود را معرفی کرد
· هر آنچه که لازم است از Galaxy S III سامسونگ بدانید
· راهنمای گام به گام اشتراک گذاری فایل های بزرگ در SkyDrive
· 15 روش برای سرعت بخشیدن به کندترین بخش کامپیوتر

[ موارد بیشتر در بخش اخبار و تازه ها ]
پربیننده ترین مقالات
· استاندارد های ISO/IEC 17799 و BS7799-2
· توصیه های مهم امنیتی در مورد لینوکس و یونیکس
· گرما در cpuها
· معماری client/Server در اینترنت
· آشنایی با سیستم فایل GNU/Linux
· یک MAC BOOK PRO جدید در بازار ایران
· معرفی دو مدل لپ تاپ با قابلیت سونی سری F
· F137HG/B، لپ تاپ سایز بزرگ سونی در بازار داخلی
· اندر احوالات کرک و کپی رایت
· EE31FX/BJ، لپ تاپ ارزان قیمت سونی در بازار داخلی
· معرفی z216 FX/L از لپ تاپ های سونی
· مدل MD313LL/A ، Macbook ارزان قیمت در بازار داخل
· تاریخچه کامپیوتر
· مشاهده آنلاین سوابق بیمه شدگان
· چگونگی اختصاص دادن یک آدرس IP استاتیک به یک رایانه در شبکه در ویندوز Xp ، Vista یا Seven
· آشنایی با روتر و سوئیچ(router and switch)
· تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
· الگوریتم های مرتب سازی آرایه ها
· GPS چیست؟
· به روز رسانی ویندوز 7 با نرم افزار Windows Update
· پایگاه داده های سیار Mobile database
· بازیابی رمز عبور در ویندوز 7
· معماری سرویس گرا Service Oriented Architecture چیست؟
· انتقال اطلاعات با Replication در SQL Server
· آموزش نرم افزار Virtual Box

[ موارد بیشتر در بخش اخبار و تازه ها ]
مقالات تصادفی
· تعداد پورت های پر سرعت اینترنت واگذار شده.
· پشتیبانی از Office 2003 محدود می شود
· لیزر و کاربرد های آن در کامپیوتر
· دنیس ریچی، پدر زبان برنامه نویسی C و سیستم عامل یونیکس در گذشت
· فیلم برداری و عکس برداری همزمان با دوربین TX55 سونی
· خبرهایی در مورد SE XPERIA X10 mini pro2
· چگونه سايت خود را منتشر كنيم؟
· افزايش تبليغات در توييتر
· ترفندهای ویندوز XP
· نکاتی در رابطه با افزایش راندمان ویندوز (بخش دوم)
· چند نكته ساده براِی طراحان وب!
· Sophos، شرکت Astaro را می‎خرد!
· چگونه یک Webcam بخریم؟
· انواع مختلف حافظه های فلش
· افزایش پهنای باند اینترنت کشور به 80 گیگا بیت رسید!
· روش نصب PHP به همراه Apache HTTP سرور
· آموزش الکترونیکی
· راهنمای انتخاب و خرید Laptop
· ایکس باکس ۳۶۰ را با ویندوز فون کنترل کنید
· پرینتر های مدادی
· تاثیر فناوری های نوین اطلاعاتی و ارتباطی بر هویت ملی
· مروری بر بازی پدرخوانده ۲
· بازی محبوب Kinectimals به ویندوز فون می آید
· زمانی برای آزمایش موبایلها
· هشت پدیده علمی-تخیلی که به حقیقت پیوسته اند

[ موارد بیشتر در بخش اخبار و تازه ها ]
امتیاز دهی به مطلب
امتیاز متوسط : 5
تعداد آراء: 1


لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد

آموزش فلش