首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器重新启动时不要更改mysql变量

服务器重新启动时不要更改mysql变量
EN

Stack Overflow用户
提问于 2021-11-16 17:15:08
回答 2查看 25关注 0票数 1

我想永久禁用sql-modeONLY_FULL_GROUP_BY值,甚至重启MySQL服务器。以下是我曾经尝试做但没有效果的事情。在重新启动MySQL时设置为默认值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-16 17:15:45

持久化设置是永久性的。它们适用于服务器重新启动。

代码语言:javascript
复制
set PERSIST sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

你试过这个吗?

票数 0
EN

Stack Overflow用户

发布于 2021-11-16 17:24:05

使用SET GLOBAL更改变量只会更改当前MySQL服务器进程的变量。如果服务器重新启动,更改将恢复。全局变量设置在启动时从MySQL服务器选项文件中读取。

在MySQL 8.0中,他们添加了一个SET PERSIST命令,这样您就可以更改全局变量并立即将设置添加到选项文件中。阅读https://dev.mysql.com/doc/refman/8.0/en/persisted-system-variables.html

如果使用旧版本的MySQL,则必须编辑选项文件。仅编辑选项文件不会更改正在运行的MySQL服务器实例中的选项。您需要重新启动MySQL服务器才能重新读取选项文件。

我通常的习惯是同时执行这两个操作-编辑选项文件,然后运行SET GLOBAL将其更改为相同的值。这确保了在重新启动后它仍然是一样的,但它允许我立即进行更改,而不需要重新启动。

也就是说,我建议您不要禁用ONLY_FULL_GROUP_BY。该模式可防止您编写无效的SQL查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69993431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档