我正在使用 mysql 服务器版本: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)
但我想在服务重新启动时为两者( session 和全局)设置 mysql 模式。我还尝试在/etc/my.cnf 文件中添加以下行 但它不能正常工作
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION
那么是否可以从任何核心文件或其他地方进行设置? 请在这个话题上大放异彩 我需要帮助来设置 session 和全局 sql_mode 到“NO_ENGINE_SUBSTITUTION”
最佳答案
这就是我在 /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
关于mysql - 服务启动时设置mysql session 和全局sql_mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23510927/