GNU/Linux >> Znalost Linux >  >> Linux

Nekompatibilní s sql_mode=only_full_group_by [Oprava]

Při migraci webové stránky klienta z jednoho WHM/cPanel na jiný WHM/cPanel se mi zobrazila chyba SQL „Nekompatibilní s sql_mode=only_full_group_by “. Níže je kompletní chybová zpráva.

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

Řešení: MySQL 5.7.5+ se změnilo GROUP BY chování, aby bylo v souladu s SQL99 (starší verze nebyly) a to byl důvod chyby.

Řešením je upravit své konfigurace MySQL a odstranit ONLY_FULL_GROUP_BY možnost z sql_mode . Tím se změní GROUP BY chování zpět na chování před MySQL 5.7.5.

Sdílený hosting

Pokud jste na sdíleném hostingu, nebudete moci změnit sql_mode na úrovni životního prostředí.

Odebrat ONLY_FULL_GROUP_BY v my.cnf soubor

Pokud máte přístup ke konfiguračnímu souboru MySQL my.cnf , otevřete soubor:

# vim /etc/mysql/my.cnf

a na konec souboru přidejte následující řádek:

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

Restartujte službu MySQL:

# systemctrl restart mysql
Zakázat ONLY_FULL_GROUP BY

Tím zakážete ONLY_FULL_GROUP_BY pro VŠECHNY uživatele systému.

Odebrat ONLY_FULL_GROUP_BY ve WHM/cPanel

Pokud je vaše doména na cPanel (sdílený hosting), musíte kontaktovat svého poskytovatele hostingu, aby jej aktualizoval.

Pokud máte přístup k WHM, přejděte na PHPMyAdmin pod SQL Services z WHM, jak je uvedeno níže:

Klikněte na Variables z nabídky a vyhledejte SQL_MODE

Klikněte na tlačítko Upravit a změňte odstranění ONLY_FULL_GROUP_BY . Po úpravě klikněte na  save .

To je ono!


Linux
  1. Selhání komunikačního spojení Výjimka – WSO2 s MySQL [Oprava]

  2. Nakonfigurujte WSO2 API Manager s databází MySQL

  3. Chyba při použití GRANT s IDENTIFIKOVANÝM heslem v MySQL

  1. Jak vytvořit databázi v MySQL pomocí MySQL Workbench

  2. Monitorujte MySQL Server pomocí Nagios 3.4

  3. Jak nastavit LogAnalyzer s Rsyslog a MySQL

  1. Jak nainstalovat Mysql spolu s Phpmyadmin?

  2. Práce s databázemi cPanel MySQL

  3. Jak nahradit MySQL za MariaDB na CentOS 6