(Diselesaikan) Pengumpulan UNKNOW UTF8MB4_UNICODE_520_CI

(Diselesaikan) Pengumpulan UNKNOW UTF8MB4_UNICODE_520_CI

Pengumpulan adalah satu set peraturan yang mentakrifkan cara membandingkan dan menyusun rentetan watak dalam pelayan pangkalan data. Dalam tutorial ini, kami membincangkan ralat yang dihadapi semasa pemulihan pangkalan data pada pelayan lain.

Mari lihat masalah dan penyelesaian kepada masalah yang dihadapi baru -baru ini:

Masalah:

Semasa penghijrahan aplikasi WordPress, saya menghadapi ralat berikut dengan pemulihan pangkalan data MySQL. ID pengumpulan mungkin berbeza berdasarkan versi MySQL.

Mesej ralat:

Ralat 1273 (HY000) pada baris 36 Collation tidak diketahui: 'UTF8MB4_UNICODE_520_CI' 

Di sini anda pergi dengan penyelesaian.

Penyelesaian:

Setelah mencari ralat, saya mendapati bahawa pelayan MySQL berjalan pada pelayan lain adalah versi yang lebih lama daripada sumbernya. Oleh itu, kami mengetahui bahawa pelayan destinasi tidak menyokong pengumpulan 'UTF8MB4_UNICODE_520_CI'.

Untuk menyelesaikan masalah ini, saya melakukan sedikit perubahan dalam fail sandaran. Edit fail sandaran pangkalan data dalam editor teks dan ganti semua kejadian "UTF8MB4_UNICODE_520_CI"Dengan"UTF8MB4_GENERAL_CI". Juga, jika anda menjumpai "Charset = UTF8MB4", Gantikan ini dengan"Charset = UTF8".

Ganti tali di bawah:

Enjin = innoDB default charset = UTF8MB4 COLATE = UTF8MB4_UNICODE_520_CI; 

dengan:

Enjin = innoDB default charset = UTF8 collate = utf8_general_ci; 

Simpan fail sandaran dan pulihkan pangkalan data.

Pengguna Sistem Linux boleh menggunakan arahan SED untuk menggantikan teks dalam fail secara langsung.

Sed -I 'S/UTF8MB4_UNICODE_520_CI/UTF8_GENERAL_CI/G' BACKUP.SQL  Sed -I 's/charset = UTF8MB4/charset = UTF8/g' sandaran.SQL  

Itu sahaja, sekarang pangkalan data berjaya dipulihkan tanpa sebarang kesilapan!

Mudah -mudahan, ini penyelesaian membantu anda menyelesaikan "Pengumpulan yang tidak diketahui: 'UTF8MB4_UNICODE_520_CI'"Isu dengan pangkalan data MySQL.