mysql服务器系统变量差不多有277个。在这些变量中,有些变量是动态的,而很少是动态的。
我不明白只读变量背后的原因是什么。为什么mysql系统变量很少是只读的。如果他们使这些变量动态化将会发生什么。
只读变量有什么深层原因吗?
现在我们可以考虑:
我们还可以在http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html找到许多其他变量
当然,我知道我们不能像这样改变变量version。但许多其他变量log-bin都不是动态的。general_log对我来说,如果和是动态的就没有意义log_slow_queries。为什么 log-bin 不是动态的?同样,还有许多其他变量。
InnoDB 存储引擎有太多移动部件,无法动态调整缓冲池大小,因为缓冲池与系统表空间 (ibdata1) 和事务日志(ib_logfile0、ib_logfile1)交互。
尽管有MySQL 文档log-bin,您仍然可以使用另一个名为 的变量来更改效果SQL_LOG_BIN。看看效果:
如果你跑
SET SQL_LOG_BIN = 0;
Run Code Online (Sandbox Code Playgroud)
这将禁止您的数据库会话记录二进制日志事件。
如果你跑
SET GLOBAL SQL_LOG_BIN = 0;
Run Code Online (Sandbox Code Playgroud)
这将禁止所有传入的数据库会话记录二进制日志事件。
作为一名DBA,我很高兴普通日志和慢日志是动态的。否则
这是我发表的一些关于进行日志轮换的帖子
Nov 10, 2012:将 MySQL 错误和慢速日志重定向到另一个数据库Mar 30, 2012:MySQL慢日志配置Jun 30, 2011:如何将MySQL日志输出到syslog?mysqld 通常能够识别时区和日期时间显示的内部化。我不认为按需改变日期时间格式有什么好处。这实际上可能会导致问题,对于 mysqld 来说不是那么严重,但是对于 PHP/Python/Ruby 脚本来说,这些脚本从 MySQL 实例读取日期,并且可能将“04/12/2013”误解为 4 月 12 日,而实际上应该是 12 月 4 日。这将是开发人员要处理的噩梦。将日期时间格式设置为只读变量只是提供了一个安全网,以防止这种玩命的举动,而正确规划数据库和代码与日期的互操作性将是有序的。
| 归档时间: |
|
| 查看次数: |
11919 次 |
| 最近记录: |