Mientras migraba el sitio web de un cliente de un WHM/cPanel a otro WHM/cPanel, recibí un error de SQL "Incompatible con sql_mode=only_full_group_by “. A continuación se muestra el mensaje de error completo.
SELECT list is not in GROUP BY clause and contains nonaggregated column 'dbname.p.picfile' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
GROUP BY comportamiento para ser compatible con SQL99 (las versiones anteriores no lo eran) y ese fue el motivo del error.
La solución consiste en editar las configuraciones de MySQL para eliminar ONLY_FULL_GROUP_BY opción de sql_mode . Esto cambiará GROUP BY comportamiento de vuelta a su comportamiento anterior a MySQL 5.7.5.
Si está en un alojamiento compartido, no podrá cambiar el sql_mode a nivel de entorno.
Eliminar ONLY_FULL_GROUP_BY en my.cnf archivo
Si tiene acceso al archivo de configuración de MySQL my.cnf , abre el archivo:
# vim /etc/mysql/my.cnf
y agregue la siguiente línea al final del archivo:
[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" Reinicie el servicio MySQL:
# systemctrl restart mysqlDeshabilitar ONLY_FULL_GROUP POR
Esto deshabilitará ONLY_FULL_GROUP_BY para TODOS los usuarios del sistema.
Eliminar ONLY_FULL_GROUP_BY en WHM/cPanel
Si su dominio está en un cPanel (alojamiento compartido), entonces debe comunicarse con su proveedor de alojamiento para actualizarlo.
Si tiene acceso a WHM, acceda a PHPMyAdmin en SQL Services de WHM como se muestra a continuación:
Haga clic en Variables desde el menú y busque SQL_MODE
Haga clic en el botón editar y cambie eliminar ONLY_FULL_GROUP_BY . Una vez editado, haz clic en save .
¡Eso es!