在服务启动时设置mysql会话和全局sql_mode

时间:2014-05-07 07:02:08

标签: mysql

我正在使用mysql Server版本:5.5.37并且在当前的mysql中每当我将重启mysql服务时,我看到下面的结果

mysql> select @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode                          |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)

mysql> select @@session.sql_mode;
+--------------------------------------------+
| @@session.sql_mode                         |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)

但是我想在服务重新启动时为(会话和全局)设置mysql模式。我也试图在/etc/my.cnf文件中放入以下行 但它不能正常工作

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION

所以可以从任何核心文件设置或者在哪里设置? 请关注这个话题 我需要帮助设置会话和全局sql_mode为'NO_ENGINE_SUBSTITUTION'

1 个答案:

答案 0 :(得分:0)

这是我在/etc/my.conf文件中设置SQL模式的方法:

[mysqld]
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

确保您的MySQL守护程序有权读取此文件。另外,检查是否有任何其他my.conf文件可能会覆盖您的值。 MySQL在多个位置搜索和读取配置文件。在这里阅读更多http://dev.mysql.com/doc/refman/5.7/en/option-files.html