Cara Mengatasi Error unknown collation: ‘utf8mb4_0900_ai_ci’ saat Import Database

Saat melakukan migrasi atau import database MySQL, seringkali kita menemukan berbagai macam error. Salah satu yang cukup sering ditemui adalah “unknown collation: ‘utf8mb4_0900_ai_ci'” saat import database. Masalah ini biasanya terjadi ketika kita memindahkan database dari versi MySQL yang lebih baru (seperti MySQL 8.0) ke versi yang lebih lama (seperti MySQL 5.7 atau lebih rendah). Untuk mengatasi masalah ini, kita harus memahami mengapa error ini bisa muncul dan bagaimana cara memperbaikinya.

Pada artikel ini, kita akan membahas penyebab error ini, bagaimana cara memperbaikinya, serta langkah-langkah yang mudah diikuti agar proses import database berjalan lancar.

Penyebab Error utf8mb4_0900_ai_ci

Error “unknown collation: ‘utf8mb4_0900_ai_ci'” biasanya disebabkan oleh perbedaan versi MySQL. Pada MySQL 8.0, kolasi utf8mb4_0900_ai_ci diperkenalkan sebagai kolasi default untuk karakter utf8mb4. Namun, jika kita mencoba mengimport database yang menggunakan kolasi ini ke server MySQL versi 5.7 atau sebelumnya, server tidak akan mengenali kolasi tersebut dan menyebabkan error.

Hal ini terjadi karena MySQL 5.7 dan versi sebelumnya tidak memiliki kolasi utf8mb4_0900_ai_ci. Oleh karena itu, kita perlu mengubah kolasi ini menjadi sesuatu yang dapat dikenali oleh versi MySQL yang lebih lama, seperti utf8mb4_general_ci atau utf8mb4_unicode_ci.

Cara Mengatasi Error utf8mb4_0900_ai_ci

Berikut adalah beberapa metode yang dapat Anda gunakan untuk mengatasi masalah ini. Pastikan Anda sudah memiliki akses ke file .sql database yang ingin diimport.

1. Ubah Kolasi Secara Manual pada File .sql

Cara termudah untuk mengatasi masalah ini adalah dengan membuka file .sql database Anda dan mengganti semua referensi utf8mb4_0900_ai_ci dengan kolasi yang didukung oleh versi MySQL Anda.

Langkah-langkah:

  1. Buka file .sql dengan editor teks seperti Notepad++ atau Visual Studio Code.
  2. Gunakan fitur “Find and Replace” (Ctrl + H).
  3. Pada kolom “Find”, masukkan utf8mb4_0900_ai_ci.
  4. Pada kolom “Replace with”, masukkan utf8mb4_general_ci atau utf8mb4_unicode_ci.
  5. Klik “Replace All” untuk mengganti semua kolasi tersebut.
  6. Simpan file .sql dan coba import kembali database tersebut ke server MySQL Anda.

2. Gunakan Perintah Sed di Terminal (Linux/Mac)

Jika Anda bekerja di lingkungan Linux atau Mac, Anda bisa menggunakan perintah sed untuk mengganti kolasi secara otomatis. Cara ini lebih cepat terutama jika Anda bekerja dengan file yang sangat besar.

Perintah:

sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' namafile.sql

Ubah namafile.sql dengan nama file database Anda. Perintah ini akan mengganti semua instance utf8mb4_0900_ai_ci dengan utf8mb4_general_ci di dalam file .sql.

3. Ekspor Ulang Database dari MySQL 8.0 dengan Kolasi yang Didukung

Jika Anda memiliki akses ke server MySQL 8.0 tempat database asli berada, Anda bisa mencoba untuk mengekspor ulang database dengan kolasi yang lebih kompatibel dengan versi MySQL lama. Anda bisa melakukan ini menggunakan perintah mysqldump.

Langkah-langkah:

1. Masuk ke MySQL 8.0 server.

2. Ekspor database menggunakan perintah:

mysqldump --default-character-set=utf8mb4 --collation-server=utf8mb4_general_ci -u username -p database_name > namafile.sql

3. Import file yang sudah diekspor ke server MySQL yang lebih lama.

Perintah di atas akan memastikan bahwa kolasi utf8mb4_general_ci digunakan untuk semua tabel dan kolom di database.

4. Menggunakan phpMyAdmin untuk Mengubah Kolasi

Jika Anda memiliki akses ke phpMyAdmin, Anda bisa mengubah kolasi langsung dari antarmuka ini.

Langkah-langkah:

  1. Buka phpMyAdmin dan pilih database yang ingin diubah.
  2. Klik tab “Operations”.
  3. Pada bagian “Collation”, pilih kolasi yang diinginkan (misalnya, utf8mb4_general_ci).
  4. Klik “Go” untuk menyimpan perubahan.

Selain mengubah kolasi database, Anda juga dapat mengubah kolasi individual tabel dan kolom menggunakan tab “Structure” pada tabel.

Kesimpulan

Masalah “unknown collation: ‘utf8mb4_0900_ai_ci'” saat import database biasanya muncul karena ketidakcocokan antara versi MySQL yang digunakan. Dengan mengikuti langkah-langkah di atas, Anda dapat memperbaiki masalah ini dengan mengganti kolasi yang tidak didukung oleh versi MySQL lama menjadi kolasi yang lebih umum seperti utf8mb4_general_ci. Cara-cara ini cukup mudah diterapkan bahkan untuk pengguna yang belum terlalu berpengalaman dengan MySQL.

Selain itu, selalu pastikan untuk membuat cadangan (backup) database sebelum melakukan perubahan apa pun. Hal ini penting untuk menghindari kehilangan data jika terjadi kesalahan selama proses penggantian kolasi.

Dengan panduan ini, diharapkan Anda dapat mengatasi masalah kolasi MySQL dengan lebih mudah dan cepat. Jika Anda masih menghadapi kendala, pastikan untuk memeriksa dokumentasi MySQL atau menghubungi dukungan teknis untuk mendapatkan bantuan lebih lanjut.

Leave a Comment

Your email address will not be published. Required fields are marked *