IoT

Cara mematikan Strict SQL Mode pada MySQL

Ternyata MySQL itu masih sangat relevan. 😀 Saya baru tahu pada MySQL versi 5.7 itu ada Strict SQL Mode yang aktif secara default dan efeknya ada query yang tidak kompatibel. Walaupun tidak sampai hancur atau bermasalah besar dengan CMSnya, tapi ada beberapa fungsi yang tidak bekerja semestinya. Karena saya tidak diperbolehkan untuk migrasi ke MariaDB atau Percona ya cari solusi alternatifnya.

Dalam log saya temukan pesan kesalahan berikut:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'nama_db.nama_tbl' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Ya setidaknya ada sedikit detail masalahnya dimana. 😀

Nah… cara mengatasinya mengakalinya adalah dengan menonaktifkan Strict SQL Mode ini. Silahkan edit konfigurasi MySQL (my.ini atau my.cnf):

Related Articles
nano /etc/mysql/my.cnf

Kemudian cari baris kode berikut:

sql-mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

Kosongkan seperti ini:

sql-mode=""

Setelah itu restart MySQL.

service mysql restart

Atau alternatifnya bisa menambahkan satu file konfigurasi khusus:

nano /etc/mysql/conf.d/matikan_strict_mode.cnf

Isikan kode berikut:

[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Dan jangan lupa restart proses database servernya.

moch akbar fitrianto

Jurnalis Dari Rakyatnesia.com Dan Sudah di dunia jurnalistik selama lebih dari 10 tahun. Tulisan berita Lamongan, umum, prediksi bola , dan profil sudah bukan hal asing lagi, Lugas dengan Fakta.

Related Articles

Check Also
Close
Back to top button