【问题标题】:change server system variables mysql更改服务器系统变量mysql
【发布时间】:2013-08-05 08:27:10
【问题描述】:

如何在 MySql 中更改服务器系统变量?

将,我想处理警告:

[警告] 带有隐式 DEFAULT 值的 TIMESTAMP 已弃用。请 使用 --explicit_defaults_for_timestamp 服务器选项(参见文档 了解更多详情)。

当我想将explicit_defaults_for_timestamp 更改为启用时,我使用此语句:

mysqld --explicit_defaults_for_timestamp=TRUE;

之后我重新运行“mysqld”,出现同样的警告。

当我通过语句检查服务器系统变量时:

mysqld --verbose --help

我看到我的第一条语句没有更改变量 explicit_defaults_for_timestamp

【问题讨论】:

  • 擦你的灯哥!抱歉,您运行的是什么版本的 MySQL?
  • -_- , win7 64bit , 5.6 .

标签: mysql


【解决方案1】:

这是一个警告,让您知道行为已更改,并修复预期出现旧行为的任何数据库。参考explicit_defaults_for_timestamp

简而言之,您必须正确设置数据库并实际设置您希望发生的行为。如果您希望默认为NULL,请将其设置为NULL,如果您希望其自动设置当前时间戳,请将其设置为DEFAULT CURRENT_TIMESTAMP

在发生之前,您可以插入一个值 NULL,它实际上会默认为当前时间戳,因此将不再允许这种惰性编程行为。他们发出警告的原因是,这将在将来破坏移植到较新的未来版本的数据库的功能。

他们建议您启用新变量,只是为了看看现在您的系统会出现什么问题,以便您进行必要的更改。以后升级后您将无法选择,因为:

explicit_defaults_for_timestamp 本身已被弃用,因为它仅 目的是允许控制现已弃用的 TIMESTAMP 行为 这将在未来的 MySQL 版本中删除。当那个移除 发生时,explicit_defaults_for_timestamp 将没有任何目的,并且会 也被删除。

【讨论】:

  • 我的问题肯定是“如何隐藏这个警告”??
  • 尝试添加到my.cnf
猜你喜欢
  • 2015-09-04
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
  • 2013-05-10
  • 2019-07-17
  • 2011-09-08
  • 2018-01-15
相关资源
最近更新 更多