MySQL karakter kodlaması hatası çözümü

Sunucu Yönetimi
  • Yaklaşık 8 GB büyüklüğünde bir veri tabanını içe aktarırken karşılaştığım Unknown collation: ‘utf8mb4_0900_ai_ci’ karakter kodlaması hatasını nasıl düzelttiğimden bahsedeceğim.

    İlk olarak Unknown collation: ‘utf8mb4_0900_ai_ci’ karakter kodlaması MySQL 8 ile birlikte gelen bir karakter kodlaması. Veri tabanı ile uğraştığım site önceden MySQL!in eski sürümlerinden MySQL 8 sürümüne terfi ettiği için çoğu tablo eski MySQL sürümü karakter kodlaması olan utf8mb4_unicode_ci’de kalmış. Bu da yeni MySQL sürümlerinde içe aktarırken Unknown collation: 'utf8mb4_0900_ai_ci hatası almama neden oldu.

    İçe aktaracağım veri tabanını root klasörüne yüklemiştim. Bu kadar büyük dosyaları açmak bir şeyler aramak gerçekten de çile halini alabiliyor. Şimdi yapmam gerekenin karakter kodlamasını değiştirmek olduğunu anladım. Ama bunu bir metin düzenleyicide yapmak öyle kolay değil. Bu yüzden linux nimetlerinden faydalanarak yaptım. Aşağıdaki komut size değiştirmek istediğiniz herhangi bir değeri bulup değiştirmeye olanak sağlıyor. Bu komutu not defterinize mutlaka kaydedin.

    sed -i myfilename.sql -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g'
    

Benzer konular