Disable ONLY_FULL_GROUP_BY in MySQL




Notice Error diatas biasanya terjadi ketika Aplikasi yang sudah dibuat di local komputer kemudian di deploy ke Server Hosting akan muncul seperti itu, Kesalahan ini bukan dikarenakan Source Code kita yang salah tetapi ada settingan pada Variables MySQL yang sedikit disesuaikan yaitu tempatnya dibagian sql mode.

Ada banyak cara untuk mengatasi hal ini, dan jika hal ini terjadi di Shared Hosting. yang bisa kamu lakukan hanya menghubungi Penyedia Hosting. Berbeda halnya jika kamu Administrator System Tersebut kamu dapat mengikuti langkah-langkah berikut ini :


  • Buka Menu PhpMyAdmin - Variables
Kemudian Cari sql mode maka akan kamu dapati perintah seperti berikut :

ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION

Ubah Menjadi seperti ini :

NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION

Dengan Menghapus ONLY_FULL_GROUP_BY Maka masalah ini terselesaikan, tetapi jika ini terjadi didalam server kamu cara ini hanya bersifat Temporary Jadi agar hal ini bisa menjadi Permanent kamu bisa melakukan hal ini :
  • Login Melalui Putty / Panel Terminal Server (WHM, CyberPanel Dll)
  • Masukan Perintah Berikut

  nano /etc/my.cnf
 
 //Ubah dibagian Sql Mode seperti ini atau Hapus Group By Saja
  sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  • Kemudian Simpan, Selanjutnya lakukan Restart dengan command berikut :

sudo systemctl restart mysqld

Jika ingin melihat hasilnya yang sudah dirubah dapat dilakukan dengan command dibawah :

  mysql -sse "SELECT @@GLOBAL.sql_mode;

Dan jika masalah ini terjadi di lokal komputer kamu cukup cari file my.ini di mysql kamu dan rubah menjadi seperti dibawah ini :
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Atau kamu cukup masukan perintah SQL dibawah ini :

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Catatan : Cara ini saya lakukan dengan kondisi Server OS Centos atau Cloudlinux OS, untuk konfigurasi diatas dalam melakukan disable ONLY_FULL_GROUP_BY in MySQL harap dilakukan secara teliti dan hati-hati.
Next Post Previous Post
No Comment
Add Comment
comment url