আমরা জানি জ্যাম্পের (Xampp) সাহায্যে লোকাল সার্ভার তৈরি করা যায়। phpMyAdmin ব্যবহার করে যে কোনো ডাটাবেস ইমপোর্ট করা যায়। তবে বড়ো ডাটাবেস ইমপোর্ট করার ক্ষেত্রে কিছু সমস্যার সৃষ্টি হতে পারে। যেমন:
- php’র ডিফল্ট execution time ৩০০ সেকেন্ড বা ৫ মিনিট অতিক্রান্ত হয়ে যাওয়া।
- আপলোডকৃত ফাইলের আকার সর্বোচ্চ অনুমোদিত সাইজ অতিক্রম করা।
এক্সিকিউশন সময় বৃদ্ধি করা:
৩০০ সেকেন্ড অতিক্রান্ত হলে নিম্নরূপ এরর মেসেজ দেখাতে পারে।
Fatal error: Maximum execution time of 300 seconds exceeded in F:\xampp\phpMyAdmin\libraries\classes\Dbal\DbiMysqli.php on line 209
অথবা
Script timeout passed, if you want to finish import, please resubmit the same file and import will resume.
সমাধান ১:
- xampp ইন্সটলেশন ফোল্ডার থেকে
phpMyAdmin
>libraries
ফোল্ডারে যাই। config.default.php
ফাইলটি ওপেন করি।$cfg['ExecTimeLimit'] = 300;
কোডটি খুঁজি। সহজে খুঁজে পেতে Find কমান্ডটির সাহায্য নেয়া যেতে পারে।- ৩০০-এর জায়গায় ০ (শূন্য = আনলিমিটেড) অথবা বিশাল একটি সংখ্যা দিয়ে সেভ করি।
- Apache ও MySql রিস্টার্ট করি।
সধাধান ২:
- xampp ইন্সটলেশন ফোল্ডার থেকে mysql > bin ফোল্ডারে কমান্ড প্রোম্পট ওপেন করি।
mysql -u username -p password database_name < db_file_path
অনুসারে কমান্ড প্রয়োগ করি। ধরি, phpMyAdmin-এ আমাদের ইউজারনেমroot
, পাসওয়ার্ড নেই এবং ডাটাবেসের নামtest
।F:\
ড্রাইভে সংরক্ষিতdb_backup.sql
ফাইলটি ইমপোর্ট করতে চাই। তাহলে আমাদের কমান্ড হবে নিম্নরূপ:
mysql -u root -p test < F:\db_backup.sql
সুনির্দিষ্ট কোনো ডাটাবেসের নাম না থাকলে, যেমন phpMyAdmin থেকে একসঙ্গে এক্সপোর্টকৃত সকল ডাটাবেসের ফাইল ইমপোর্ট করতে হলে ডাটাবেসের নাম কমান্ড থেকে বাদ যাবে।
mysql -u root -p < F:\db_backup.sql