Permasalahan
- export database dari MySQL versi baru, untuk diimport ke database MySQL versi lama. Muncul pesan kesalahan “ERROR 1273 (HY000) at line 78: Unknown collation: ‘utf8mb4_0900_ai_ci'”
Penyebab:
- MySQL versi baru menggunakan collation utf8mb4_0900_ai_ci yang tidak dikenal di MySQL versi lama
Solusi:
Edit file dump
Edit file dump database dengan mengganti string berikut ini:
- Ganti string “utf8mb4_0900_ai_ci” menjadi “utf8_general_ci”
- Ganti string “CHARSET=utf8mb4” menjadi “CHARSET=utf8”
Jika file dump database besar sekali (ratusan mega atau beberapa giga), editor teks biasanya tidak sanggup membaca file tersebut. Untuk itu kita bisa menggunakan program ‘sed’ di Linux:
# sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' dump.sql
# sed -i 's/CHARSET=utf8mb4/CHARSET=utf8/g' dump.sql
Ubah Collation Database
Cara lain adalah dengan cara mengubah collation di database/tabel tersebut
ALTER DATABASE <database_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE artikel MODIFY url title(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Referensi
- Unknown collation: ‘utf8mb4_unicode_ci’ cPanel
- https://tecadmin.net/resolved-unknown-collation-utf8mb4_0900_ai_ci/
- https://stackoverflow.com/questions/1294117/how-to-change-collation-of-database-table-column