دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۳۱ : Export کردن دیتابیس در MySQL

  • دسته‌بندی‌ها :
جلسه ۳۱ : Export کردن دیتابیس در MySQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

      Export کردن دیتابیس در MySQL

      در ادامه ی این آموزش با انواع Export کردن دیتابیس در MySQL آشنا خواهید شد.

      Export کردن دیتابیس در MySQL با SELECT…INTO OUTFILE

      ساده ترین روش برای Export داده های جدول به یک فایل متنی، استفاده از دستور SELECT … INTO OUTFILE است.

      این دستور نتیجه Query را به طور مستقیم به یک فایل در میزبان سرور صادر می شود.

      ساختار اینکار ترکیبی از یک دستور SELECT معمولی با INNO OUTFILE نام فایل در پایان است.

      فرمت خروجی پیش فرض همانند آن برای دستور LOAD DATA است.

      بنابراین دستور زیر جدول tutorials_tbl را در فایل /tmp/tutorials.txt به عنوان tab-delimited کپی می کند:

      مثال : 

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

      برای export کردن جدول tutorial_tbl در یک فرمت CSV از دستور زیر استفاده کنید:

      مثال : 

      دستور SELECT … INTO OUTFILE خصوصیات زیر را داراست :

      فایل خروجی به طور مستقیم توسط سرور MySQL ایجاد می شود، بنابراین نام فایل باید محل آن را در سرور میزبان نشان دهد.

      شما بایستی امتیاز فایل MySQL را برای اجرای عبارت SELECT … INTO داشته باشید.

      یک فایل خروجی دیگری نباید از قبل ایجاد شده و وجود داشته باشد.

      شما باید یک حساب ورود به سیستم در سرور میزبان و یا راهی برای بازیابی فایل از آن میزبان داشته باشید.

      تحت یونیکس، این پرونده قابل خواندن است و متعلق به سرور MySQL است و این بدان معنی است که اگر چه شما می توانید فایل را بخوانید، ممکن است نتوانید آن را پاک کنید.

      Export کردن جداول در قالب داده ی Raw

      برنامه ی mysqldump برای کپی گرفتن و یا پشتیبانی جداول و دیتابیس هاست.

      این می تواند از داده های جداول را در قالب یک فایل Raw کپی بگیرید.

      برای اینکار باید گزینه ی tab– که یک دایرکتوری را نشان می دهد مشخص کنید.

      برای مثال، برای کپی کردن جدول tutorials_tbl از دیتابیس TUTORIALS در یک فایل در دایرکتوری /tmp از دستور زیر استفاده کنید:

      مثال : 

      export کردن محتوای جداول یا تعریف در قالب SQL

      برای export کردن یک جدول در یک فرمت SQL در یک فایل، از دستور زیر استفاده کنید :

      مثال : 

      کد فوق شامل محتوای زیر را ایجاد می کند :

      مثال : 

      برای کپی گرفتن از چندین جدول همه ی آن ها را با نام آرگومان دیتابیس نام گذاری کنید.

      مثال : 

      برای گرفتن back up از تمام دیتابیس های موجود در host خود، از کد زیر استفاده کنید :

      مثال : 

      گزینه ی all-databases– در نسخه ی  MySQL 3.23.12 در دسترس است.

      این متد می تواند برای اجرای استراتژی پشتیبان پایگاه داده استفاده شود.

      کپی جداول یا دیتابیس ها به host های دیگر

      اگر می خواهید جداول یا دیتابیس ها را از یک MySQL server به جاهای دیگر کپی کنید، از mysqldump با نام جدول و دیتابیس استفاده کنید.

      دستور زیر را در یک host منبع اجرا کنید. اینکار تمام دیتابیس را در یک فایل dump.txt کپی می کند:

      مثال : 

      شما می توانید دیتابیس را بدون استفاده از یک نام جدول کپی کنید.

      در حال حاضر فایل ftp dump.txt در میزبان دیگری قرار دارد و از دستور زیر استفاده کنید.

      قبل از اجرای این دستور، اطمینان حاصل کنید که نام سرور database_name را روی سرور مقصد ایجاد کرده اید.

      مثال : 

      راه دیگری برای انجام این کار بدون استفاده از فایل میانجی این است که خروجی mysqldump را مستقیما بر روی شبکه به سرور MySQL خروجی ارسال کنید.

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

      مثال : 

      در mysqldump، نیمی از فرمان به سرور محلی متصل می شود و خروجی را به pipe می فرستد.

      نیمه باقی مانده از فرمان نیز به سرور MySQL remote در سرور دیگر متصل می شود.

      این pipe برای ورودی را خوانده و هر دستور را به سرور دیگر – host.com می فرستد.

      کلام آخر

      اگر گاهی لازم می شود که پروژه های خود را که شامل دیتابیس MySQL  متصل به پروژه می شود ، را در سایر سیستم ها تست کرده و توسعه دهید، باید با چگونگی Export کردن دیتابیس در MySQL آشنایی داشته باشید، که در مباحث فوق به صورت خلاصه به آن اشاره شد.

      QR:  جلسه ۳۱ : Export کردن دیتابیس در MySQL
      به اشتراک بگذارید