mysql - 服务启动时设置mysql session 和全局sql_mode

标签 mysql

我正在使用 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/

相关文章:

javascript - NodeJS 验证和循环中的多次插入

Mysql 内联加载 - 特定列

mysql - 按日期和时间选择记录

mysql - Laravel 根据 json 的范围获取属性值

mysql - MySql中设置sql_mode=only_full_group_by时如何严格字符串比较 "group by"?

php - 为sql中的重复条目添加编号

mysql - Excel 字符串中的多个单词替换

php - 连接两个表并仅输出第一个表中存在的行

php - 使用 php lastInsertId() 将一个表中的主键作为外键插入到另一个表中

mysql - 带有 JOIN 和 WHERE 子句的 SQL 语句