windows下,如何修改MYSQL的sql_model

125 阅读1分钟

在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修改成功了