Cara Memperbaiki Kesalahan Pengumpulan “utf8mb4_0900_ai_ci” saat Mengimpor Basis Data WordPress

Jika Anda mengalihkan instalasi WordPress dari server MySQL 8 ke MySQL 5.7 (atau lebih rendah), kemungkinan besar Anda akan menemukan 1273 – Susunan tidak diketahui: 'utf8mb4_0900_ai_ci' kesalahan saat mencoba mengimpor database. Apa pun alat yang Anda gunakan untuk mengimpor atau mengekspor database, Anda tidak dapat menghindari kesalahan ini.

Namun, jika sebelumnya Anda menjalankan blog Anda di server MySQL 5.7 dan baru-baru ini beralih ke MySQL 8 tetapi sekarang beralih kembali ke MySQL 5.7, maka tabel inti WordPress (postingan, taksonomi, opsi, komentar, dll.) dan plugin apa pun yang Anda instal di server MySQL 5.7 harus tetap menggunakan susunan “utf8mb4_unicode_520_ci”.

Anda dapat mengimpor semua tabel dari database Anda yang menggunakan susunan “utf8mb4_unicode_520_ci”. Jadi yang perlu Anda lakukan adalah menemukan tabel di database Anda yang menggunakan susunan “utf8mb4_0900_ai_ci” dan mengecualikannya dari file cadangan database yang diekspor.

Temukan tabel mana yang menggunakan susunan “utf8mb4_0900_ai_ci”

Anda perlu menemukan tabel mana dalam database Anda yang menggunakan susunan “utf8mb4_0900_ai_ci” sehingga kami dapat mengecualikan tabel tersebut saat mengekspor database.

Jika Anda memiliki akses SSH ke server dan kredensial akses database (yang benar-benar bisa Anda dapatkan dari file wp-config.php), Anda dapat menjalankan perintah berikut untuk dengan mudah menemukan tabel dengan susunan “utf8mb4_0900_ai_ci”.

mysqlshow -u nama pengguna -p --status database | grep "utf8mb4_0900_ai_ci"

? Ganti nama pengguna dan basis data dengan Database dan Nama Pengguna Anda pada perintah di atas.

Masukkan kata sandi pengguna Database Anda saat diminta untuk Masukkan kata kunci: dan Anda akan memiliki daftar tabel menggunakan susunan "utf8mb4_0900_ai_ci" di database Anda.

Tabel yang menggunakan susunan “utf8mb4_0900_ai_ci” seharusnya hanya plugin yang Anda instal setelah beralih ke MySQL 8. Tuliskan nama tabel sehingga Anda dapat mengecualikannya saat berikutnya Anda mengekspor database.

Tip

Jika Anda tidak mengakses SSH ke server, maka unduh file database .sql di komputer Anda dan buka dengan editor teks seperti Notepad++ dan gunakan fungsi pencarian (Ctrl +F) untuk menemukan tabel mana yang menggunakan "utf8mb4_0900_ai_ci" pemeriksaan.

Ekspor database tidak termasuk tabel susunan “utf8mb4_0900_ai_ci”

Sekarang setelah Anda memiliki nama tabel menggunakan susunan “utf8mb4_0900_ai_ci”, Anda dapat mengekspor file cadangan database baru yang tidak menyertakan tabel “utf8mb4_0900_ai_ci” sehingga Anda dapat mengimpornya ke instalasi WordPress yang berjalan di server MySQL 5.7.

Dengan asumsi Anda sudah menggunakan WP-CLI untuk mengekspor/mengimpor database WordPress, jalankan perintah berikut untuk mengekspor database Anda sambil mengecualikan beberapa tabel.

wp db export --exclude_tables=table_name,table_name,table_name

? Mengganti nama_tabel pada perintah di atas dengan nama sebenarnya dari tabel yang menggunakan susunan “utf8mb4_0900_ai_ci”.

Itu dia. Sekarang Anda dapat dengan mudah mengimpor database WordPress ke server baru yang menjalankan MySQL 5.7.

? Catatan penting

Untuk tabel database yang Anda kecualikan dari cadangan, pastikan untuk membuat ulang datanya secara manual di server baru. Karena tabel tersebut hanya untuk plugin, periksa apakah plugin tersebut menawarkan cara untuk mengekspor data di pengaturan plugin atau mengkonfigurasi ulang plugin di server baru dengan cara yang sama seperti yang dilakukan di server lama.