(Diselesaikan) Collation UTF8MB4_0900_AI_CI yang tidak diketahui

(Diselesaikan) Collation UTF8MB4_0900_AI_CI yang tidak diketahui

Kumpulan adalah seperangkat aturan yang mendefinisikan cara membandingkan dan mengurutkan string karakter di server database. Dalam tutorial ini, kami membahas kesalahan yang dihadapi selama pemulihan database di server lain.

Mari kita lihat masalah dan solusi untuk masalah yang dihadapi baru -baru ini:

Masalah

Selama migrasi aplikasi web, saya mendapatkan kesalahan di bawah ini saat memulihkan database di server lain. ID Collation mungkin berbeda berdasarkan versi MySQL.

Pesan eror:

Kesalahan 1273 (Hy000) Di baris 25 Kolasi Tidak Diketahui: 'UTF8MB4_0900_AI_CI' 

Lihat tangkapan layar kesalahan selama pemulihan database.

Ini dia dengan solusi.

Larutan

Setelah sedikit penyelidikan, saya menemukan bahwa server MySQL berjalan di tujuan adalah versi yang lebih lama dari sumbernya. Jadi kami mendapatkan bahwa server tujuan tidak berisi kolasi database yang diperlukan.

Kemudian kami melakukan sedikit tweak di file cadangan untuk menyelesaikan ini. Edit file cadangan database di editor teks dan ganti "UTF8MB4_0900_AI_CI" dengan "UTF8MB4_GENERAL_CI" Dan "Charset = UTF8MB4" dengan "Charset = UTF8“.

Ganti string di bawah ini:

Engine = charset default innoDB = utf8mb4 rekan = utf8mb4_0900_ai_ci; 

dengan:

Engine = innoDB default charset = utf8 rekan = utf8_general_ci; 

Simpan file Anda dan kembalikan database.

Pengguna sistem Linux dapat menggunakan perintah SED untuk mengganti teks di file secara langsung.

Sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' cadangan.SQL  Sed -i 's/charset = utf8mb4/charset = utf8/g' cadangan.SQL  

Itu. Setelah perubahan di atas, database berhasil dipulihkan!

Semoga solusi ini membantu Anda menyelesaikan "Kolasi Tidak Diketahui: 'UTF8MB4_0900_AI_CI'" masalah.