GNU/Linux >> Linux Esercitazione >  >> Linux

Incompatibile con sql_mode=only_full_group_by [fissare]

Durante la migrazione di un sito Web client da un WHM/cPanel a un altro WHM/cPanel, ho ricevuto un errore SQL "Incompatibile con sql_mode=only_full_group_by “. Di seguito è riportato il messaggio di errore 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

Soluzione: MySQL 5.7.5+ ha cambiato GROUP BY comportamento conforme a SQL99 (le versioni precedenti non lo erano) e questo era il motivo dell'errore.

La soluzione alternativa è modificare le tue configurazioni MySQL per rimuovere ONLY_FULL_GROUP_BY opzione da sql_mode . Questo cambierà GROUP BY comportamento al suo comportamento precedente a MySQL 5.7.5.

Hosting condiviso

Se sei su un hosting condiviso, non sarai in grado di modificare sql_mode a livello ambientale.

Rimuovi ONLY_FULL_GROUP_BY in my.cnf file

Se hai accesso al file di configurazione MySQL my.cnf , apri il file:

# vim /etc/mysql/my.cnf

e aggiungi la riga sottostante alla fine del file:

[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"

Riavvia il servizio MySQL:

# systemctrl restart mysql
Disattiva ONLY_FULL_GROUP BY

Questo disabiliterà ONLY_FULL_GROUP_BY per TUTTI gli utenti del sistema.

Rimuovi ONLY_FULL_GROUP_BY in WHM/cPanel

Se il tuo dominio è su un cPanel (Hosting condiviso), devi contattare il tuo provider di hosting per aggiornarlo.

Se hai accesso a WHM, accedi a PHPMyAdmin in SQL Services da WHM come mostrato di seguito:

Fare clic su Variables dal menu e cerca SQL_MODE

Fai clic sul pulsante Modifica e cambia rimuovi ONLY_FULL_GROUP_BY . Una volta modificato, fai clic su  save .

Ecco fatto!


Linux
  1. Come creare un database in MySQL con MySQL Workbench

  2. Monitora il server MySQL con Nagios 3.4

  3. Come configurare LogAnalyzer con Rsyslog e MySQL

  4. Errore del collegamento di comunicazione Eccezione – WSO2 con MySQL [fissare]

  5. Come sostituire MySQL con MariaDB su CentOS 6

Come utilizzare MySQL con l'applicazione Ruby On Rails

Come configurare MySQL con Docker in Linux

Come aggiungere un nuovo utente MySQL con autorizzazioni GRANT

DRBD con MySQL Centos 8

Come eseguire il multi-master MySQL con Percona e Keepalived

8 passaggi per installare MirthConnect con MySQL / MariaDB su Linux