سلام از دوستان هم فکری میخوام
من میخوام دستی جداول موجود در پایگاه داده رو از
InnoDB
به
MyISAM
تغییر بدم
ایا دستور کلی برای تغییر یک باره کل تیبل ها وجود دارد؟
که کل تیبل هارو تغییر انجین بدیم
نمایش نسخه قابل چاپ
سلام از دوستان هم فکری میخوام
من میخوام دستی جداول موجود در پایگاه داده رو از
InnoDB
به
MyISAM
تغییر بدم
ایا دستور کلی برای تغییر یک باره کل تیبل ها وجود دارد؟
که کل تیبل هارو تغییر انجین بدیم
به نظرم سریعترین و راحت ترین روش اینه که از دیتابیس بکاپ بگیرین! بعد MyISAM رو جایگزین InnoDB تو فایل بکاپ کنید. دوباره بکاپ رو ایمپورت کنید. مثلا اگه سرور لینوکس هست و دسترسی ssh دارین به این شکل عمل کنید:
mysqldump database > database.sql
perl -i -pe 's/InnoDB/MyISAM/g' database.sql
mysql database < database.sql
سلام
از phpmyadmin هم میتونید بخش تنظیماتش به دلخواه کلا تغیرش بدید راحت ترین راه هست
بصورت دستی عمل کنید بهتر هست .
همونی که جناب syncronet فرموندند .
اما یه سوال
چرا میخواید تغییر انجین بدید.
MyISAM روی رکوردهای پایین سرعت بهتری داره اما امکاناتش خیلی کمتره .
بطور مثال از تراکنش ها پشتیبانی نمیکنه
اگه توی برنامه شما که بر اساس InnoDB هست از قابلیتهای منحصر به فرد استفاده کرده باشه تغییر انجین دردسرهای بزرگی رو به همراه داره براتون .
پیشنهاد میکنم به ورژن 5.5 ارتقا بدید و از همون InnoDB استفاده کنید .
سلام تا حالا آپدیت کردید ؟
ارتقاء از ورژن 5.1 به 5.5 مشکل ایجاد نمی کند برای وب سایتها
فکر کنم از 5.5 به بعد امکان fulltext search به innodb اضافه شده .
من سایتم روی میهن وب هاست هست که جدیدا آپدیت کردن .
من خودم روی سیستم (اوبونتو) از mysql 5.5 استفاده میکنم خیلی هم سریعه
جالب شد بحث
پس پیشنهاد شما آپدیت هست
MyISAM در مقابل InnoDB قدرت کمتری دارد. اما خب InnoDB از منابع زیادی استفاده میکند به دلیل استفاده تکنولوژی درختی در پایگاه داده. هر نوعی مزیت ها و معایت خودش را دارد بستگی به نوع کاری میباشد و نوع میزبانی که روی سرور انجام میشود.
mysql 5.5 اشتباه هست به نظر من و مصرف منابع سرور را به حد خیلی زیادی بالا میبرد.
بهترین ورژن همان 5.1 هست.
بارها 5.5 را تست کردیم حتی دوستانی هم داشتیم که یک سایت بوده روی یک سرور اختصاصی (نام نمیبرم) و از کانفیگ mysql 5.5 استفاده کردند و از ما خواستن براشون دانگرد کنیم (دفعه قبل هم یک کانفیگر براشون اوکی کرده بود) و با دانگرد شدن مشکلات منابع در مورد پایگاه داده حل شد.
در کل تجربه ما در مورد 5.5 بد بوده. حال بقیه دوستان را اطلاع ندارم.
ارادتمند سجادیه
یا حق
سلام
در مورد MyISAM اینو بگم که مزیتی خوبی داره
که با کپی کردن فولدر بانک اطلاعاتی به راحتی می تونید در سرور دیگه از بانک استفاده کنید
برای موارد ضروری بسیار مفید هست
که InnoDB این مورد رو نداره
(سرور لینوکسی کلا داغون شده بود با بوت شدن لایو سی دی و کپی پوشه دیتا بیس MyISAM به راحتی منتقل شد)
در مورد مصرف منابع من اطلاعی ندارم چون اصلا چک نکردم .
اما کوئری هایی که روی سه جدول (join) انجام میدم سریع انجام میشه .
انجین پیشفرض 5.5 ، innodb هست .
فکر کنم به کل توسعه MyISAM قطع شده .
InnoDB در مقایسه با MyISAM امکانات بیشتری داره اما خب اینم خرج داره .
بهرحال شما یه تست بکنید ببنید اسکریپتتون با MyISAM مشکلی نداره اگه مشکلی نداشت تغییر انجین بدید اگه مشکل داشت روی همین انجین بمونید .
جناب RoobinaServer ورژن فعلی 5.5.28 هست . اگر وقت کردید یه تست بفرمائید ببنید همون مشکلات قبلی رو داره یا خیر .
با تشکر