Banu Utomo
Catatan pribadi yang mengulas optimasi server, tutorial Wordpress, SEO, dan serba serbi dunia online.

Yuk, Konversi Charset MySQL dari utf8mb4 ke utf8 atau Sebaliknya

characterset and collation MYSQL

Baru-baru ini saya menyamaratakan character set pada semua database menjadi utf8mb4. Hal ini saya lakukan untuk meningkatkan performa database karena ketika melakukan join table dan character set yang digunakan berbeda, misal latin1 dan utf8, maka MySQL akan mengkonversi salah satunya, yang akibatnya index dari tabel tersebut TIDAK dapat digunakan.

Artinya, tanpa index, proses sorting tabel akan memakan waktu lebih lama.

Nah, saya ambil contoh database saya yang belum di konversi dengan charset dan collation yang sama:

characterset and collation MYSQL
characterset and collation MYSQL

Pada contoh diatas terdapat tiga penyortiran yaitu Utf8 (character set terpopuler saat ini), latin1_swedish_ci (default MySQL), dan utf8mb4 artinya utf8 multibyte 4 (character set ini merupakan pengembangan dari utf8).

Untuk kasus ini, penyelesaiannya cukup mudah hanya dengan perintah sederhana.

Konversi utf8mb4 ke utf8

Gunakan command line ini untuk konversi dari utf8mb4 ke utf8 via SSH.

Konversi utf8 ke utf8mb4

Perintahnya sama saja hanya ganti pada bagian;

  • CHARACTER SET utf8 COLLATE utf8_general_ci dengan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
  • CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci dengan CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci.

Atau lebih mudahnya bisa langsung copy paste perintah ini 🙂

—-
Oh iya, pada bagian “dbname” silahkan diganti dengan nama database yang ingin diubah. Seperti ini database diatas setelah di konversi ke “utf8mb4”.

characterset and collation MYSQL
characterset and collation MYSQL

Pasangan aja kalau persepsinya selalu sama enak, apalagi database 😛 eh