MySQL修改SQL_MODE无效求助:配置与命令均不生效
解决MySQL sql_mode修改不生效的问题
1. 确认MySQL实际加载的配置文件
MySQL可能读取的不是你编辑的my.ini,先执行命令定位正确路径:
- Windows系统:
输出会显示类似mysql --help | findstr /i "Default options"Default options are read from the following files in the given order:的内容,后面的路径就是MySQL实际加载的配置文件。 - Linux/macOS系统:
mysql --help | grep "Default options"
2. 检查配置文件的sql_mode设置
打开正确的配置文件,确保:
- 设置在
[mysqld]段内,格式为:[mysqld] sql_mode = '' - 排查文件中是否存在多个sql_mode配置项,后面的配置会覆盖前面的,删除多余的重复设置。
3. 确保配置文件修改后正确保存并重启服务
- 保存配置文件时注意权限:Windows下若my.ini在Program Files目录,需以管理员权限编辑保存;Linux下可使用
sudo命令编辑。 - 重启MySQL服务:
- Windows:在系统服务列表找到MySQL右键重启,或执行命令:
net stop MySQL net start MySQL - Linux:
sudo systemctl restart mysql
- Windows:在系统服务列表找到MySQL右键重启,或执行命令:
4. 验证修改结果
重启后执行SQL查询确认:
SELECT @@GLOBAL.sql_mode;
若返回空字符串,则说明修改生效。
内容的提问来源于stack exchange,提问作者Galbert
相关产品推荐
相关产品推荐

