Mengatasi PhpMyadmin #1273 unknown collation utf8mb4_unicode_ci
Last updated onCategory : Server dan security , Web Hosting
Salah satu kendala yang sering kita hadapi saat melakukan deploy website ke server atau memindahkan website dari hosting atau vps yang berbeda adalah restore database.
Umumnya, masalah restore database disebabkan karena ukuran atau size database yang besar atau versi database (mysql/mariadb) yang berbeda dan masalah yang kami akan bahas saat ini adalah Error #1273 unknown collation utf8mb4_unicode_ci atau Unknown collation: ‘utf8mb4_unicode_520_ci’ saat melakukan restore.
Apa itu Collation dan Mengapa Error Unknown Collation Muncul?
Collaction adalah set aturan ada pada database MySQL/MariaDB yang berfungsi untuk membandingkan karakter yang ada dengan caracter set. Caracter sendiri adalah sekumpulan karakter tertentu yang didukung oleh MySQL/MariaDB.
#1273 unknown collation utf8mb4_unicode_ci terjadi karena database sebelumnya menggunakan collation utf8mb4_unicode_ci dan tidak didukung pada versi database saat ini.
Kita dapat menjalan perintah berikut pada mysql untuk mengecek apakah utf8mb4_unicode didukung atau tidak
MySQL > SHOW COLLATION LIKE 'utf8mb4_unicode';
Empty set (0.00 sec)
dan
MySQL > SHOW COLLATION LIKE 'utf8mb4_unicode_520_ci';
Empty set (0.00 sec)
Jika hasilnya empty seperti di atas, maka artinya database yang kita gunakan saat ini tidak mendukung collation tersebut.
Cara Mengatasi PhpMyadmin #1273 unknown collation utf8mb4_unicode_ci
Solusi termudah untuk hal ini adalah mengubah collation backup database tersebut dengan collation yang standard.
Copy backup database sebelumnya tersebut (untuk keperluan backup) dan dari SSH kita bisa jalankan perintah berikut untuk mengubah collation-nya:
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' backup.sql
sed -i 's/utf8mb4/utf8/g' backup.sql
Perintah di atas akan mengubah karakter utf8mb4_unicode_520_ci menjadi utf8_general_ci dan utf8mb4 menjadi utf8.
Atau jika database tidak terlalu besar, cobalah buka file database tersebut dengan menggunakan notepad++ . Setelah dibuka, lakukan pencarian utf8mb4 dan replace ke utf8.
Lakukan hal yang sama untuk karakter utf8mb4_unicode_520_ci menjadi utf8_general_ci
Setelah kita mereplacenya, silakan coba untuk melakukan restore atau upload lagi backup database mysql tersebut. Seharusnya sekarang database akan dapat direstore dengan baik.
Selamat mencoba 🙂 .