Bu hatayı almaya başladıysanız mysql 5.7 ile tanışmış olmalısınız 🙂 Bu hatayı çözmek için birkaç yöntem mevcut.
1) Phpmyadmin’den ayarlama
– Phpmyadmin’den “Değişkenler” kısmına gelip arama kısmına “sql_mode” yazın. Düzenle butonuna basın. only_full_group_by kısmını kaldırırsanız hata düzelir. Ama bu çözüm pek uygun değil. Mysql i yeniden başlattığınızda tekrardan hata ile karşılaşabilirsiniz.
2) my.cnf dosyasını düzenleme
– /etc/my.cnf dosyasını açıp aşağıdaki kodu ekleyin. Mysql’i yeniden başlatın.
1 2 |
[mysqld] sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" |
3) Bu yöntemde ise mysql.service dosyasını düzenlemeniz gerekmekte.
– /lib/systemd/system/mysql.service dosyasını açıp aşağıdaki kodu ekleyin ve Mysql’i yeniden başlatın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# MySQL systemd service file [Unit] Description=MySQL Community Server After=network.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql PermissionsStartOnly=true ExecStartPre=/usr/share/mysql/mysql-systemd-start pre # Normally, we'd simply use: # ExecStart=/usr/sbin/mysqld ExecStart=/usr/sbin/mysqld --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ExecStartPost=/usr/share/mysql/mysql-systemd-start post TimeoutSec=600 Restart=on-failure RuntimeDirectory=mysqld RuntimeDirectoryMode=755 |
Kaynak :
– https://ayyaz.io/fix-sql-error-group-incompatible-sql_modeonly_full_group_by/
– https://serverfault.com/questions/817328/unable-to-get-rid-of-sql-mode-only-full-group-by-on-ubuntu-16-04