close
تبلیغات در اینترنت
آموزش تغییر engine دیتابیس ها از InnoDB به MyISAM ( دسترسی یوزر )

جستجوگر پیشرفته سایت



آخرين ارسال هاي تالار گفتمان
loading...
عنوان پاسخ بازدید توسط
2 1139 khoshonatjahani
2 2189 collage
1 520 amiricod
0 445 hoseni_68
0 570 admin
0 488 admin
0 507 admin
1 1158 admin
1 914 mandb
1 1517 mandb
0 850 admin

آموزش تغییر engine دیتابیس ها از InnoDB به MyISAM ( دسترسی یوزر )

  • InnoDB یکی از موتورهای ذخیره سازی اطلاعات در دیتابیس MySQL است. در مقایسه با سایر موتورهای ذخیره سازی پایگاه داده (همچون MYISAM و … ) ، InnoDB دارای نقصی در زمینه محاسبه فضای استفاده نشده در جداول دیتابیس است. این مسئله به مرور زمان باعث حجیم شدن پایگاه داده مربوطه خواهد شد.

    همانطور که می دانید در دیتابیس سرور یک فلدر با نام مشابه به ازای هر دیتابیس (در مسیر مشخص شده ) ایجاد می شود که این فلدر شامل موارد ذیل می باشد :

    -          تمامی فایلهای مربوط به دیتابیس

    -           فایلهای ibd  ، که تنها برای هر یک از جداول InnoDB  ایجاد می شود

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

    فایلهای ibd  شامل لاگ های مربوط به جداول innoDB  می باشند که به مرور زمان ، با انجام تراکنش ها ، حجم این فایلها به صورت چشم گیری بالا می رود و از آنجا که حجم اصلی دیتابیس از طریق فلدر موجود در دیتابیس سرور محاسبه می گردد لذا حجم کل دیتابیس نیز به همین منوال افزایش خواهد یافت.

    متأسفانه در MySQL (برخلاف MS-SQL ) ابزار یا دستوری برای حذف لاگ فایلها وجود ندارد. همچنین با حذف و ایجاد مجدد دیتابیس InnoDB  اگرچه این مشکل به صورت موقت حل خواهد شد ولی متاسفانه با انجام تراکنش های جدید و ازدیاد حجم لاگ فایلها مجدداً شرایط قبل تکرار خواهد شد.

    از آنجا که گزارش حجم جداول در ابزار PHP MY Admin شامل حجم لاگ فایلها نمی باشد لذا جمع حجم جداول کمتر از حجم واقعی اشغال شده  ،در همان زمان ، در دیتابیس سرور خواهد بود. همچنین حجم بک آپی که از این طریق تهیه می شود نیز به دلیل فوق ذکر ، کمتر از حجم واقعی خواهد بود.

    بنابراین راهکار عملی در صورت امکان ، تغییر موتور جداول از InnoDB  به MYISAM  میباشد. در صورتیکه شرایط جداول و کارکردهای مورد نیاز امکان این تغییر را فراهم ننماید ، تنها راهکار ممکن، ارتقاء سرویس میزبانی به پلان بالاتر با حجم دیتابیس مناسب خواهد بود.

    باتوجه به توضیحات ارائه شده در رابطه با فایل ibd  ، بک آپ هایی که به صورت خودکار (مانند بک آپ های ایران پیج ) از جداولInnoDB   تهیه می شوند قابل ریستور نخواهند بود لذا در صورتیکه موتور جداول دیتابیس شما InnoDB  می باشد به خاطر داشته باشید که باید به صورت دوره ای از طریق ابزار PHP MY Admin  نسبت به تهیه بک آپ از اطلاعات خود اقدام نمایید یا اینکه نسبت به تغییر به انجین MyISAM اقدام نمایید در غیر اینصورت متاسفانه ایران پیج ( و حتی سایر سرویس دهندگان ) در این مورد بک آپ قابل بازیابی جهت ارائه نخواهد داشت.

     

  • 1- برای تغییر engine دیتابیس ها از InnoDB به MyISAM  وارد phpmyadmin شوید

    ۲- بر روی نام دیتابیس کلیک کردید

    ۳- سپس تیبلی که نوع آن InnoDB هست را بر رویش کلیک کنید

    ۴-در صفحه جدید از تب های بالا بر روی oprations کلیک کرده

    ۵- در صفحه جدید گزینه Storage EngineDocumentation را یافته و از منوی کشویی جلوی آن MyISAM را انتخاب نمایید

    ۶- بر روی گزینه GO کلیک کنید

  • ۱- برای تغییر engine دیتابیس ها از InnoDB به MyISAM  وارد phpmyadmin شوید

    ۲- بر روی نام دیتابیس کلیک کردید

    ۳-در صفحه جدید از تب های بالا بر گزینه export کلیک کنید

    ۴- فایل را دانلود کنید و با notepad یا notepad++ واژه های InnoDB را یافته و با MyISAM جایگذاری کنید

    ۶- پس از انجام ابتدا یک دیتابیس جدید بسازید و سپس این فایل را که بر روی رایانه ویرایش کردید زیپ کرده ( به صورت dbname.sql.zip ) و سپس ایمپورت کنید

    ۷- مشخصات دیتابیس جدید را به فایل کانفیگ هاست اسکریپت اضافه کنید

    ۸- دیتابیس قدیمی را پس از تست کردن دیتابیس جدید حذف کنید







براي نمايش ادامه اين مطلب بايد عضو شويد !
نام کاربری :
رمز عبور :
تکرار رمز :
ایمیل :
نام اصلی :
کد امنیتی : *

اگر قبلا ثبت نام کرديد ميتوانيد از فرم زير وارد شويد و مطلب رو مشاهده نماييد !
نام کاربری :
رمز عبور :
تعداد بازديد : 711
مطالب مرتبط
تغییر آدرس ورود به phpmyadmin
آموزش نوشتن مطالب با سئو بالا و ایندکس سریع در گوگل
افزایش حجم ایمپورت SQL با استفاده از phpMyAdmin در نرم افزار XAMPP
بخش نظرات

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتی