ورژن های جدید phpMyAdmin موقع import کردن دیتابیس های بزرگ خطا می دهند.
علت این خطا محدودیت های PHP در پروسس کردن اسکریپت ها می باشد. این محدودیت هم از لحاظ max execution time و هم از لحاظ حداکثر حافظه موقت PHP وجود دارد.
بخاطر همین کاری که پیشنهاد می شود انجام داد، آپلود فایل SQL بر روی سرور و استفاده از command prompt برای وارد کردن پایگاه داده حجیم می باشد.
چگونه این کار انجام می شود؟
شما ابتدا می بایست فایل SQL را بر روی سرور آپلود کنید. (می توانید برای کاهش حجم ابتدا آنرا فشرده سازی کرده و پس از آپلود از فایل زیپ خارج کنید.)
پس فایل شما بر فرض در آدرسی مثل C:\DB.SQL ذخیره خواهد شد. اگر از سرور لوکال استفاده می کنید، کافی است فایل اس کیو ال را بر روی درایو C خود آپلود کنید.
اگر از هاست اشتراکی استفاده می کنید، شما توانایی انجام چنین کاری را ندارید، زیرا به شما دسترسی داده نمی شود. پس می توانید فایل را توی یکی از فولدر های هاست خود آپلود کرده و از پشتیبانی درخواست کنید مراحل زیر را برای شما انجام دهند.
خوب، پس تا اینجا، فایل بر روی هارد دیسک سرور آپلود شد.
اکنون کامند پرامپت را اجرا می کنیم. تایپ کنید mysql و اینتر را بزنید. اگر اعلام کرد که این دستور ناشناخته است به این معنی است که مای اسکیو ال در environment variables ویندوز وارد نشده است. پس چاره ای ندارید جز اینکه با دستور cd به محل نصب فایل های اجرایی mysql بروید.
مثلا: cd c:\mysql\bin
به این نمونه توجه کنید:
از آنجایی که من mySQL را توسط نرم افزار XAMPP نصب کردم باید به آدرس فوق می رفتم. پس دستور mysql به شما چیزی شبیه عکس فوق را خروجی می دهد. با ctrl+c خارج شوید.
سپس کد زیر را وارد کنید:
mysql -h localhost -u root -p dbname
به جای root نام کاربری دیتابیس خود و به جای dbname نام دیتابیس را بنویسید. (اگر اینها را نمی دانید، آموزش آپلود سایت را مطالعه فرمایید.)
پس از اینتر زدن از شما پسورد می خواهد. پسورد را وارد کنید یا اگر پسورد ندارد اینتر بزنید.
سپس، کد زیر را وارد کنید تا فایل SQL توسط MySQL خط به خط به دیتابیس سرور شما افزوده شود:
source c:\db.sql
آدرس فایل خودتان را وارد کنید و اینتر بزنید.
این فرآیند کمی زمان می برد بسته به بزرگ بودن دیتابیس شما.
اگر خطایی در دیتابیس وجود داشته باشد در پایان خواهید توانست خطا ها را یادداشت کرده و برطرف کنید.
موفق باشید.
2 دیدگاه ها
سلام. وقت بخیر. من یه مشکلی پیدا کردم.
سایتم دیتابیسش خیلی حجیم و بزرگ شده. حدودا 500 مگابایت و هاست هم حداکثر حجم دیتابیسی ک پشتیبانی میکنه 600 مگابایت هست. اعلام کردن برای رغع محدودیت حجم دیتابیس، باید پلن بالاتر ما را خریداری کنید که گرون ترین پلن این هاست(نت افراز) از 2 گیگ حجم دیتابیس پشتیبانی میکنه!!! من هم استطاعت مالی خریداری رو ندارم. لازم به ذکر هست که همون 2 گیگ هم در چند ماه آینده، برای من کافی نیست.
میخاستم ببینم روشی هست که دیتابیس سایت رو به چندتا دیتابیس دیگه تقسیم کرد؟ یا اینکه وقتی حجم دیتابیس به یه حجم خاصی رسید، یک دیتابیس جدید برای سایت بسازم و به سایت مرتبط کنم؟
اینم بگم که: از پشتیبانی نت افراز درخواست کمک کردم گفتن ما روشی بلد نیستیم.
سلام. اولا 500 مگابایت حجم خیلی زیادی است. خیلی وقت ها برخی پلاگین ها اطلاعات اضافی زیادی در دیتابیس ذخیره می کنند. مثل پلاگین هایی که آمار سایت و IP بازدید کنندگان را ذخیره می کنند. شما می توانید این پلاگین ها را حذف کنید و اطلاعات آنها را از دیتابیس پاک کنید.
در مورد هزینه هاست، تا زمانی که هاست شما تنها 5-6 نفر بازدید کننده همزمان داشته باشد و روزی 1000 بازدید کننده تجاوز نکند، می توانید همچنان از پلان های اشتراکی (Shared) استفاده نمایید، ولی اگر این حد فراتر رفتید و بازدید سایت شما به 5000 بازدید و بیشتر رسید، دیگر شما باید سایت خود را به VPS ارتقاء دهید که مسلما هزینه بیشتری خواهد داشت. مثلا شاید 1 میلیون تومان در سال. بسته به میزان رم و CPU و…
اما در مورد سوال شما، که آیا میشه دو دیتابیس را در وردپرس استفاده کرد، در این سایت نوشته شده که باید یک متغیر جدید تعریف کنید (کمی برنامه نویسی دارد):
$wpdbtest_otherdb = new wpdb(‘myaccount_cityuser’, ‘mypassword’, ‘myaccount_cities’, ‘localhost’);
توضیحات کامل اینجا است:
https://www.sitepoint.com/community/t/how-to-connect-multiple-database-in-wordpress/235122/4