実行:
sudo mysql -u root -p
mysql> SELECT @@global.sql_mode;
(その後、後で元の設定に戻したい場合に備えて、オプションで出力をメモのどこかにコピーします。)
そして、SQLモードを変更します MySQLサーバーインスタンスの場合:
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
(ロールバックしたい場合は、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';
のようなものを実行できます。 保存した値を使用します。)
より永続的な方法(MySQLの再起動後も存続します)は、MySQL構成を使用することです。 /etc/mysql/my.cnf
に移動します (または、sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
を実行する必要がある場合があります ):
-
[mysqld]
のセクションを追加します そのすぐ下にステートメントsql_mode = ""
を追加します またはsql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
。 -
MySQLサービスを再起動します:
sudo systemctl restart mysql
(またはsudo service mysql restart
)
https://dba.stackexchange.com/a/113153/18098 も参照してください。