درود، در حرفه کاری بنده بارها مشاهده شده است که کار با دیتابیس به خصوص MySQL برای بسیاری از کاربران سخت و دشوار است. بسیاری از کاربران نیز دیده شده است که دیتابیس حجیم دارند و ان را از طریق کنترل پنل قادر نیستند Import کنند و به ناچار مجبورند به اسکریپت ها روی بیاورند. امروز قصد دارم آموزش کامل نحوه بک آپ گیری از بانک های اطلاعاتی را در MySQL به روش مستقیم (بدون در نظر گرفتن کنترل پنل) اموزش بدهم. در این آموزش شما دوستان و همراهان گرامی خواهد اموخت که چگونه از یک دیتابیس بک آپ کامل (Export) بگیرید و همچنین چگونه آن را ریستور (Import) کنید.



جهت مشاهده راهنمای کامل بک آپ گیری بانک های اطلاعاتی به ادامه مطلب مراجعه کنید.


برای شروع اول از همه ما نیاز به MySQL root Password داریم، البته بدون این رمز هم می توان از طریق های دیگر اقدام کرد اما با داشتن این رمز بسیار راحت تر می توانید دیتابیس ها را بک آپ یا ریستور کنید. دوستانی که از سی پنل استفاده می کنند این گزینه را در پنل مدیریت دارند و می توانند ابدیت کنند و دوستانی که دایرکت ادمین دارند با کلیک بر روی "راهنما" می توانند نحوه یافتن این رمز را بیاموزند و کسانی که کلوکسو دارند در قسمت سرور منیجر می توانند این گزینه را پیدا کنند.

A. آموزش گرفتن بک آپ (Export) از یک بانک اطلاعاتی:
1. ابتدا از طریق ترمینال (SSH) با نام کاربری ریشه (root) وارد سرور می شویم.
2. از طریق دستور زیر اقدام به گرفتن بک آپ از بانک اطلاعاتی مورد نظر می کنیم:
کد:
mysqldump -p -u root db_name > db_name.sql
در فرمول بالا به ترتیب :
الف: root نام کاربری دیتابیس سرور است.
ب: db_name نام دیتابیس یا بانک اطلاعاتی است که می خواهید از ان بک آپ (Export) بگیرید.
ج: db_name.sql نام فایل بک آپ خروجی است، این نام دلخواه است و شما هر چیزی می توانید بگذارید، فقط پسوند ثابت است.

3. با جای گذاری نام دیتابیس در فرمول بالا و Enter از شما رمز MySQL root Password درخواست میشود چون نام کاربری دیتابیس سرور در فرمول بالاست، بنابر این با دادن رمز عملیات بک آپ گیری یا (Export) انجام میشود و در نهایت یک فایل خروجی با نام db_name.sql خروجی داده میشود.

B. آموزش ریستور کردن بک آپ (Import) بانک اطلاعاتی:
1. ابتدا از طریق ترمینال (SSH) با نام کاربری ریشه (root) وارد سرور می شویم.
. از طریق دستور زیر اقدام به ریستور بک آپ بانک اطلاعاتی مورد نظر می کنیم:
کد:
mysql -p -u root db_name < db_name.sql
در فرمول بالا به ترتیب :
الف: root نام کاربری دیتابیس سرور است.
ب: db_name نام دیتابیس یا بانک اطلاعاتی است که می خواهید فایل دیتا را در ان ریستور (Import) کنید.
ج: db_name.sql نام فایل بک آپ است، که باید به دیتابیس بدهید برای ریستور (Import) و فراموش نکنید حتما پسوند باید sql. باشد. پسوند دیگری قابل ریستور نیست.

3. با جای گذاری نام دیتابیس و اسم دیتابیس مورد نظر در فرمول بالا و Enter از شما رمز MySQL root Password درخواست میشود چون نام کاربری دیتابیس سرور در فرمول بالاست، بنابر این با دادن رمز عملیات در صورت صحیح بودن اطلاعات وارد شده و وجود داشتن فایل دیتابیس، ریستور با موفقیت انجام میشود.

نکته اول) در صورتی که دیتابیس شما بسیار حجیم است می توانید بانک اطلاعاتی مربوطه را زیپ (sql.gz) کنید تا حجم ان یک دهم شود، سپس بعد از انتقال به سرور با دستور زیر از حالت زیر خارج کنید:
کد:
gzip -d db_name.sql.gz
نکته دوم) اگر حجم Import دیتابیس شما در تنظیمات کم است می توانید با دستور زیر دیتابیس های حجیم را Import کنید:
کد:
mysql --max_allowed_packet=1000M -p -u root db_name < db_name.sql
آموزش به پایان رسید.
سوالی بود در خدمت شما هستم.