Bagaimana untuk Membetulkan Ralat Pengumpulan "utf8mb4_0900_ai_ci" semasa Mengimport Pangkalan Data WordPress

Jika anda menukar pemasangan WordPress anda daripada pelayan MySQL 8 kepada MySQL 5.7 (atau ke bawah), kemungkinan besar anda akan menghadapi 1273 – Pengumpulan tidak diketahui: ‘utf8mb4_0900_ai_ci’ ralat semasa cuba mengimport pangkalan data. Tidak kira alat yang anda gunakan untuk mengimport atau mengeksport pangkalan data, anda tidak boleh lari daripada ralat ini.

Walau bagaimanapun, jika anda sebelum ini telah menjalankan blog anda pada pelayan MySQL 5.7 dan baru-baru ini bertukar kepada MySQL 8 tetapi kini beralih semula kepada MySQL 5.7, maka jadual teras WordPress (siaran, taksonomi, pilihan, ulasan, dll.) dan sebarang pemalam yang anda pasang pada pelayan MySQL 5.7 masih harus menggunakan pengumpulan "utf8mb4_unicode_520_ci".

Anda boleh mengimport semua jadual daripada pangkalan data anda yang menggunakan pengumpulan "utf8mb4_unicode_520_ci". Jadi apa yang anda perlu lakukan ialah mencari jadual dalam pangkalan data anda yang menggunakan pengumpulan "utf8mb4_0900_ai_ci" dan mengecualikannya daripada fail sandaran pangkalan data yang dieksport.

🔎 Cari jadual yang menggunakan pengumpulan "utf8mb4_0900_ai_ci"

Anda perlu mencari jadual dalam pangkalan data anda yang menggunakan pengumpulan "utf8mb4_0900_ai_ci" supaya kami boleh mengecualikan jadual tersebut apabila mengeksport pangkalan data.

Jika anda mempunyai akses SSH ke pelayan dan kelayakan akses pangkalan data (yang anda boleh dapatkan sepenuhnya daripada fail wp-config.php), anda boleh menjalankan arahan berikut untuk mencari jadual dengan mudah dengan pengumpulan "utf8mb4_0900_ai_ci".

mysqlshow -u nama pengguna -p --pangkalan data status | grep "utf8mb4_0900_ai_ci"

? Gantikan nama pengguna dan pangkalan data dengan Pangkalan Data dan Nama Pengguna anda dalam arahan di atas.

Masukkan kata laluan pengguna Pangkalan Data anda apabila digesa untuk Masukkan kata laluan: dan anda akan mempunyai senarai jadual menggunakan pengumpulan "utf8mb4_0900_ai_ci" dalam pangkalan data anda.

Jadual yang menggunakan pengumpulan "utf8mb4_0900_ai_ci" hendaklah daripada pemalam sahaja yang anda pasang selepas beralih kepada MySQL 8. Tulis nama jadual supaya anda boleh mengecualikannya pada kali seterusnya anda mengeksport pangkalan data anda.

💡 Petua

Jika anda tidak mengakses SSH ke pelayan, kemudian muat turun fail pangkalan data .sql pada komputer anda dan buka dengan editor teks seperti Notepad++ dan gunakan fungsi carian (Ctrl +F) untuk mencari jadual yang menggunakan “utf8mb4_0900_ai_ci” pengumpulan.

Eksport pangkalan data tidak termasuk jadual pengumpulan "utf8mb4_0900_ai_ci".

Sekarang setelah anda mempunyai nama jadual menggunakan pengumpulan "utf8mb4_0900_ai_ci", anda boleh mengeksport fail sandaran pangkalan data baharu yang tidak termasuk jadual "utf8mb4_0900_ai_ci" supaya anda boleh mengimportnya ke dalam pemasangan WordPress yang dijalankan pada pelayan MySQL 5.7.

Dengan mengandaikan anda sudah menggunakan WP-CLI untuk mengeksport/mengimport pangkalan data WordPress, jalankan arahan berikut untuk mengeksport pangkalan data anda sambil mengecualikan beberapa jadual.

wp db eksport --exclude_tables=table_name, table_name, table_name

? Gantikan nama_jadual dalam arahan di atas dengan nama sebenar jadual yang menggunakan pengumpulan "utf8mb4_0900_ai_ci".

itu sahaja. Anda kini boleh mengimport pangkalan data WordPress anda dengan mudah ke pelayan baharu yang menjalankan MySQL 5.7.

? Nota PENTING

Untuk jadual pangkalan data yang anda kecualikan daripada sandaran, pastikan anda mencipta semula datanya secara manual pada pelayan baharu. Memandangkan jadual tersebut adalah pemalam sahaja, semak sama ada pemalam tersebut menawarkan cara untuk mengeksport data dalam tetapan pemalam atau konfigurasi semula pemalam pada pelayan baharu dengan cara yang sama ia telah disediakan pada pelayan lama.