在mysql目录下找到.ini配置文件,我的就叫做[mysql.ini]
在文件中的[mysqld]下修改或者添加参数,放其他位置不会生效:
[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
停止mysql服务
C:\Windows\System32>net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。
删除windows中注册的Mysql服务(对于本地的mysql文件不影响)
C:\Windows\System32>sc delete mysql
[SC] DeleteService 成功
初始化Mysql文件目录,建议备份Mysql目录下的data目录,防止可能会删除data目录,这包含数据库文件(很重要)!!!!
C:\Windows\System32>"E:\Program Files\mysql-8.0.41-winx64\bin\mysqld.exe" --initialize-insecure --user=mysql
安装mysql服务,指定启动配置文件[mysql.ini],sql_model就会生效了
C:\Windows\System32>"E:\Program Files\mysql-8.0.41-winx64\bin\mysqld.exe" --install "MySQL" --defaults-file="E:\Program Files\mysql-8.0.41-winx64\mysql.ini"
Service successfully installed.
启动MYSQL
C:\Windows\System32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
navicat中查看sql_model
select @@global.sql_mode;
查询结果:
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
这样我们就把sql_model修改成功了