如何在重启OpenServer后保持SQL的sql mode设置不变?
永久移除MySQL的ONLY_FULL_GROUP_BY模式(OpenServer环境)
在PhpMyAdmin中执行SET GLOBAL sql_mode = ...只是临时生效,重启MySQL服务后会自动重置,要让修改永久生效,需直接编辑MySQL的配置文件:
定位OpenServer中MySQL的配置文件
通常路径为OpenServer\modules\database\mysql-[版本号]\my.ini,比如OpenServer\modules\database\mysql-8.0.30\my.ini,请根据你实际使用的MySQL版本调整路径。编辑配置文件
用文本编辑器打开my.ini,查找sql_mode配置项:- 若找到该行,删除其中的
ONLY_FULL_GROUP_BY字段,保留其他参数,修改后示例:sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" - 若未找到
sql_mode行,直接在[mysqld]区块下添加上述配置行。
- 若找到该行,删除其中的
重启MySQL服务
在OpenServer控制面板中找到MySQL服务,点击重启按钮(也可直接重启整个OpenServer)。验证修改结果
重启后打开PhpMyAdmin,执行SELECT @@GLOBAL.sql_mode;,确认返回结果中已无ONLY_FULL_GROUP_BY即可。
内容的提问来源于stack exchange,提问作者Lamantinoss
相关产品推荐
相关产品推荐

