怎么解决mysql的Warning问题

这篇文章主要介绍“怎么解决mysql的Warning问题”,在日常操作中,相信很多人在怎么解决mysql的Warning问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决mysql的Warning问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天重启mysql错误日志显示有如下警告:
2016-06-24 09:20:07 0 [Warning] option 'general_log': boolean value '/data/DB/mysql/select.log' wasn't recognized. Set to OFF.
2016-06-24 09:20:07 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).

第一个警告是查询日志文件没有找到,系统选择关闭查询日志功能:
[root@trcloud-gtt-dw ~]# ls -l /data/DB/mysql/select.log
ls: cannot access /data/DB/mysql/select.log: No such file or directory
[root@trcloud-gtt-dw ~]# touch /data/DB/mysql/select.log
[root@trcloud-gtt-dw ~]# chown mysql:mysql /data/DB/mysql/select.log
通过创建文件解决

第二个警告是要关掉这种非标准行为,得在启动服务前开启系统变量explicit_defaults_for_timestamp! 如此,系统方能按如下的方式处理timestamp:
timestamp榄没有显式声明为not null的将会允许null值。设置为null就会是null,而不是当前timestamp!
没有timestamp榄会被自动赋值为default current_timestamp或on update current_timestamp。而是要显式去赋值!
timestamp榄声明为not null并且没有显式声明一个默认值将被认定为没有默认值。向这样的榄插入记录将完全看SQL模式的心情。如果是strict模式,就报错!
如果不是,将被赋值为'00-00-00 00:00:00'并给一个警告。处理DATETIME也是这样!
通过在mysql.cnf,mysqld下面加explicit_defaults_for_timestamp=true解决

到此,关于“怎么解决mysql的Warning问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/202319.html

(0)
上一篇 2021年11月25日
下一篇 2021年11月25日

相关推荐

发表回复

登录后才能评论