MySQL 8.0-এ কিছু ফিচার ডিপ্রিকেটেড (প্রচলন থেকে বাহির) করা হয়েছে, ভবিষ্যতে এগুলো সরানো হয়ে যেতে পারে। অ্যাপ্লিকেশন আপডেট করে বিকল্প ব্যবহার করা উচিত।
প্রধান ডিপ্রিকেটেড ফিচারসমূহ
- utf8mb3 ক্যারেক্টার সেট -> ব্যবহার করুন
utf8mb4। - sha256_password অথেন্টিকেশন -> ব্যবহার করুন
caching_sha2_password(ডিফল্ট)। - validate_password প্লাগইন ইমপ্লিমেন্টেশন পরিবর্তন -> কম্পোনেন্ট ইনফ্রাস্ট্রাকচার ব্যবহার করুন।
- AUTO_INCREMENT FLOAT/DOUBLE কলামে -> ডিপ্রিকেটেড। ইন্টিজার টাইপ ব্যবহার করুন।
- UNSIGNED FLOAT/DOUBLE/DECIMAL -> ডিপ্রিকেটেড।
- ZEROFILL অ্যাট্রিবিউট নুমেরিক ডেটায় -> ডিপ্রিকেটেড। বরং
LPAD()ফাংশন ব্যবহার করুন। - || (OR) কনক্যাট অপারেটর -> ডিপ্রিকেটেড (যদি
PIPES_AS_CONCATSQL মোড অন না থাকে)।CONCAT()ব্যবহার করুন। - JSON_MERGE() -> ডিপ্রিকেটেড। বরং
JSON_MERGE_PRESERVE()ব্যবহার করুন। - SELECT ... INTO clause AFTER FROM -> ডিপ্রিকেটেড। এন্ড-অফ-স্টেটমেন্টে INTO ব্যবহার করুন।
- FLUSH HOSTS -> ডিপ্রিকেটেড। বরং
TRUNCATE TABLE performance_schema.host_cache;ব্যবহার করুন (DROP প্রিভিলেজ লাগবে)। - mysql_upgrade ক্লায়েন্ট -> ডিপ্রিকেটেড (সার্ভার অটো হ্যান্ডেল করে)।
- InnoDB memcached প্লাগইন -> ডিপ্রিকেটেড।
- mysql_upgrade_info ফাইল -> ডিপ্রিকেটেড।
- relay_log_info_file, --master-info-file -> ডিপ্রিকেটেড।
সুপারিশ: SHOW WARNINGS বা লগ দেখে ডিপ্রিকেশন ওয়ার্নিং পাওয়া যায়। প্রোডাকশন আপগ্রেডের আগে কোড রিভিউ করুন।