MySQLでsql_modeが変更できない件
2018年5月2日
環境的には、元々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が追加されましたとさ。