WordPress Veritabanını İçe Aktarırken “utf8mb4_0900_ai_ci” Harmanlama Hatası Nasıl Düzeltilir

WordPress kurulumunuzu MySQL 8 sunucusundan MySQL 5.7'ye (veya altı) değiştiriyorsanız, büyük olasılıkla aşağıdakilerle karşılaşacaksınız: 1273 – Bilinmeyen harmanlama: 'utf8mb4_0900_ai_ci' veritabanını içe aktarmaya çalışırken hata. Veritabanını almak veya vermek için hangi araçları kullanırsanız kullanın, bu hatadan kaçamazsınız.

Ancak, blogunuzu daha önce bir MySQL 5.7 sunucusunda çalıştırdıysanız ve yakın zamanda bir MySQL 8'e geçtiyseniz ancak şimdi MySQL 5.7'ye geri döndüyseniz, o zaman temel WordPress tabloları (gönderiler, sınıflandırmalar, seçenekler, yorumlar vb.) ve tüm eklentiler MySQL 5.7 sunucusuna yüklediğiniz, hala “utf8mb4_unicode_520_ci” harmanlamasını kullanıyor olmalıdır.

“utf8mb4_unicode_520_ci” harmanlamasını kullanan veritabanınızdaki tüm tabloları içe aktarabilirsiniz. O halde yapmanız gereken, veritabanınızda “utf8mb4_0900_ai_ci” harmanlamasını kullanan tabloları bulmak ve dışa aktarılan veritabanı yedekleme dosyasından çıkarmak.

🔎 Hangi tabloların “utf8mb4_0900_ai_ci” harmanlamasını kullandığını bulun

Veritabanınızdaki hangi tabloların “utf8mb4_0900_ai_ci” harmanlamasını kullandığını bulmanız gerekir, böylece veritabanını dışa aktarırken bu tabloları hariç tutabiliriz.

Sunucuya SSH erişiminiz ve veritabanı erişim kimlik bilgileriniz varsa (tamamen wp-config.php dosyasından alabilirsiniz), “utf8mb4_0900_ai_ci” harmanlamalı tabloları kolayca bulmak için aşağıdaki komutu çalıştırabilirsiniz.

mysqlshow -u kullanıcı adı -p --status veritabanı | grep "utf8mb4_0900_ai_ci"

? değiştirin Kullanıcı adı ve veri tabanı Yukarıdaki komutta Veritabanınız ve Kullanıcı Adınızla.

İstendiğinde Veritabanı kullanıcı şifrenizi girin. Şifre girin: ve veritabanınızda “utf8mb4_0900_ai_ci” harmanlamasını kullanan tabloların listesine sahip olacaksınız.

“utf8mb4_0900_ai_ci” harmanlamasını kullanan tablolar, yalnızca MySQL 8'e geçtikten sonra yüklediğiniz eklentilere ait olmalıdır.

💡 İpucu

Sunucuya SSH erişiminiz yoksa, .sql veritabanı dosyasını bilgisayarınıza indirin ve Notepad++ gibi bir metin düzenleyici ile açın ve hangi tabloların “utf8mb4_0900_ai_ci” kullandığını bulmak için arama işlevini (Ctrl +F) kullanın. harmanlama.

“utf8mb4_0900_ai_ci” harmanlama tabloları hariç veritabanını dışa aktar

Artık "utf8mb4_0900_ai_ci" harmanlamasını kullanan tabloların adlarına sahip olduğunuza göre, "utf8mb4_0900_ai_ci" tablolarını içermeyen yeni bir veritabanı yedekleme dosyasını dışa aktarabilir, böylece onu MySQL 5.7 sunucusunda çalışan bir WordPress kurulumuna aktarabilirsiniz.

WordPress veritabanını dışa/içe aktarmak için zaten WP-CLI kullandığınızı varsayarsak, bazı tabloları hariç tutarken veritabanınızı dışa aktarmak için aşağıdaki komutu çalıştırın.

wp db dışa aktarma --exclude_tables=table_name,table_name,table_name

? Yer değiştirmek Tablo ismi "utf8mb4_0900_ai_ci" harmanlamasını kullanan tabloların gerçek adlarıyla yukarıdaki komutta.

Bu kadar. Artık WordPress veritabanınızı MySQL 5.7 çalıştıran yeni sunucuya kolayca aktarabilirsiniz.

? Önemli Not

Yedeklemeden hariç tuttuğunuz veritabanı tabloları için, verilerini yeni sunucuda manuel olarak yeniden oluşturduğunuzdan emin olun. Bu tablolar yalnızca eklentilere ait olduğundan, bu eklentilerin eklenti ayarlarında verileri dışa aktarmanın bir yolunu sunup sunmadığını kontrol edin veya eklentiyi yeni sunucuda eski sunucuda kurulduğu şekilde yeniden yapılandırın.