ওয়ার্ডপ্রেস ডেটাবেস আমদানি করার সময় "utf8mb4_0900_ai_ci" কোলেশন ত্রুটি কীভাবে ঠিক করবেন

আপনি যদি একটি MySQL 8 সার্ভার থেকে MySQL 5.7 (বা নীচে) তে আপনার ওয়ার্ডপ্রেস ইনস্টলেশন স্যুইচ করছেন, তাহলে আপনি সম্ভবত এর সম্মুখীন হবেন 1273 - অজানা সমষ্টি: 'utf8mb4_0900_ai_ci' ডাটাবেস আমদানি করার চেষ্টা করার সময় ত্রুটি। ডাটাবেস আমদানি বা রপ্তানি করতে আপনি কোন সরঞ্জামগুলি ব্যবহার করেন না কেন, আপনি এই ত্রুটি এড়াতে পারবেন না।

যাইহোক, আপনি যদি পূর্বে একটি MySQL 5.7 সার্ভারে আপনার ব্লগ চালান এবং সম্প্রতি একটি MySQL 8-এ স্যুইচ করেন কিন্তু এখন MySQL 5.7-এ ফিরে যান, তাহলে মূল ওয়ার্ডপ্রেস টেবিল (পোস্ট, ট্যাক্সোনমি, অপশন, মন্তব্য ইত্যাদি) এবং যেকোনো প্লাগইন। আপনি MySQL 5.7 সার্ভারে ইনস্টল করেছেন এখনও "utf8mb4_unicode_520_ci" সমষ্টি ব্যবহার করা উচিত।

আপনি আপনার ডাটাবেস থেকে সমস্ত টেবিল আমদানি করতে পারেন যা "utf8mb4_unicode_520_ci" সমষ্টি ব্যবহার করে। তাই আপনাকে যা করতে হবে তা হল আপনার ডাটাবেসের টেবিলগুলি খুঁজে বের করুন যা "utf8mb4_0900_ai_ci" কোলেশন ব্যবহার করে এবং এক্সপোর্ট করা ডাটাবেস ব্যাকআপ ফাইল থেকে সেগুলিকে বাদ দেয়৷

🔎 কোন টেবিল "utf8mb4_0900_ai_ci" সমষ্টি ব্যবহার করে তা খুঁজুন

আপনার ডাটাবেসের কোন টেবিলগুলি "utf8mb4_0900_ai_ci" কোলেশন ব্যবহার করে তা আপনাকে খুঁজে বের করতে হবে যাতে ডাটাবেস রপ্তানি করার সময় আমরা সেই টেবিলগুলি বাদ দিতে পারি৷

আপনার যদি সার্ভারে SSH অ্যাক্সেস থাকে এবং ডাটাবেস অ্যাক্সেস শংসাপত্র থাকে (যা আপনি সম্পূর্ণরূপে wp-config.php ফাইল থেকে পেতে পারেন), আপনি "utf8mb4_0900_ai_ci" কোলেশন সহ টেবিলগুলি সহজেই খুঁজে পেতে নিম্নলিখিত কমান্ডটি চালাতে পারেন।

mysqlshow -u ব্যবহারকারীর নাম -p --status ডাটাবেস | grep "utf8mb4_0900_ai_ci"

? প্রতিস্থাপন ব্যবহারকারীর নাম এবং তথ্যশালা উপরের কমান্ডে আপনার ডাটাবেস এবং ব্যবহারকারীর নাম দিয়ে।

আপনার ডাটাবেস ব্যবহারকারী পাসওয়ার্ড লিখুন যখন অনুরোধ করা হয় পাসওয়ার্ড লিখুন: এবং আপনার ডাটাবেসে "utf8mb4_0900_ai_ci" কোলেশন ব্যবহার করে টেবিলের তালিকা থাকবে।

"utf8mb4_0900_ai_ci" কোলেশন ব্যবহার করা টেবিলগুলি শুধুমাত্র প্লাগইনগুলির হতে হবে যেগুলি আপনি MySQL 8-এ স্যুইচ করার পরে ইনস্টল করেছেন৷ টেবিলগুলির নামগুলি লিখুন যাতে আপনি পরের বার আপনার ডাটাবেস রপ্তানি করার সময় সেগুলিকে বাদ দিতে পারেন৷

💡 টিপ

আপনি যদি সার্ভারে SSH অ্যাক্সেস না করেন, তাহলে আপনার কম্পিউটারে .sql ডাটাবেস ফাইলটি ডাউনলোড করুন এবং এটিকে একটি টেক্সট এডিটর যেমন Notepad++ দিয়ে খুলুন এবং কোন টেবিলটি "utf8mb4_0900_ai_ci" ব্যবহার করে তা খুঁজে বের করতে অনুসন্ধান ফাংশন (Ctrl +F) ব্যবহার করুন। সমষ্টি

"utf8mb4_0900_ai_ci" সমন্বিত সারণী ব্যতীত ডাটাবেস রপ্তানি করুন

এখন আপনার কাছে "utf8mb4_0900_ai_ci" সমষ্টি ব্যবহার করে টেবিলের নাম আছে, আপনি একটি নতুন ডাটাবেস ব্যাকআপ ফাইল রপ্তানি করতে পারেন যাতে "utf8mb4_0900_ai_ci" টেবিল অন্তর্ভুক্ত নেই যাতে আপনি এটিকে MySQL 5.7 সার্ভারে চলমান একটি WordPress ইনস্টলেশানে আমদানি করতে পারেন৷

ধরে নিচ্ছি আপনি ইতিমধ্যেই ওয়ার্ডপ্রেস ডাটাবেস রপ্তানি/আমদানি করতে WP-CLI ব্যবহার করছেন, কিছু টেবিল বাদ দিয়ে আপনার ডাটাবেস রপ্তানি করতে নিম্নলিখিত কমান্ডটি চালান।

wp db রপ্তানি --exclude_tables=table_name,table_name,table_name

? প্রতিস্থাপন করুন টেবিল_নাম উপরের কমান্ডে টেবিলের প্রকৃত নামের সাথে যা "utf8mb4_0900_ai_ci" কোলেশন ব্যবহার করে।

এটাই. আপনি এখন সহজেই MySQL 5.7 চালিত নতুন সার্ভারে আপনার ওয়ার্ডপ্রেস ডাটাবেস আমদানি করতে পারেন।

? গুরুত্বপূর্ণ তথ্য

ডাটাবেস টেবিলের জন্য যা আপনি ব্যাকআপ থেকে বাদ দিয়েছেন, নতুন সার্ভারে ম্যানুয়ালি তাদের ডেটা পুনরায় তৈরি করতে ভুলবেন না। যেহেতু এই টেবিলগুলি শুধুমাত্র প্লাগইনগুলির জন্য, সেই প্লাগইনগুলি প্লাগইন সেটিংসে ডেটা রপ্তানি করার উপায় অফার করে কিনা তা পরীক্ষা করে দেখুন বা অন্যথায় পুরানো সার্ভারে সেটআপ করার মতো নতুন সার্ভারে প্লাগইনটিকে পুনরায় কনফিগার করুন৷