thinking now...

旅とライブと祭と廃墟。

MySQLでsql_modeが変更できない件

   

環境的には、元々MySQL5.6系をインストールしていて、それをMySQL5.7系にアップデートしたんですが、ONLY_FULL_GROUP_BYが効いてなくて、アレ・・?って感じ。

で、my.cnfを見たら、あーコレかと。

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

で、ONLY_FULL_GROUP_BYを追加してMySQLを再起動。

mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+--------------------------------------------+
| Variable_name | Value                                      |
+---------------+--------------------------------------------+
| sql_mode      | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+---------------+--------------------------------------------+

いや、反映されてないじゃん。

で、ぐぐったら別のとこにもmy.cnfがあるってのエントリーを発見。
確かに、/usr/my.cnfがあるなぁ・・。
(しかもsql_modeが指定されてた)

って事で、/usr/my.cnfのsql_modeをコメントアウトして、MySQLを再起動。
無事にsql_modeにONLY_FULL_GROUP_BYが追加されましたとさ。

参考

my.cnfに設定したsql_modeが効かなくて困った話

 - mysql