Ausführen:
sudo mysql -u root -p
mysql> SELECT @@global.sql_mode;
(Kopieren Sie dann optional die Ausgabe irgendwo in Ihre Notizen, falls Sie später zu diesen ursprünglichen Einstellungen zurückkehren möchten.)
Und ändere den SQL-Modus für Ihre MySQL Server-Instanz:
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
(Wenn Sie jemals einen Rollback durchführen möchten, können Sie etwas wie mysql> SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
ausführen mit dem Wert, den Sie gespeichert haben.)
Ein dauerhafterer Weg (der Neustarts von MySQL überlebt) wäre die Verwendung der MySQL-Konfigurationen. Gehen Sie zu /etc/mysql/my.cnf
(oder Sie müssen möglicherweise sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
ausführen ):
-
Fügen Sie einen Abschnitt für
[mysqld]
hinzu und direkt darunter die Anweisungsql_mode = ""
hinzufügen oder etwas wiesql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
. -
Starten Sie den MySQL-Dienst neu:
sudo systemctl restart mysql
(oder sudo service mysql restart
)
Siehe auch https://dba.stackexchange.com/a/113153/18098