这篇文章主要介绍“怎么解决mysql的Warning问题”,在日常操作中,相信很多人在怎么解决mysql的Warning问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决mysql的Warning问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联致力于互联网品牌建设与网络营销,包括网站制作、成都做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联核心团队10年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。今天重启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问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联-成都网站建设公司网站,小编会继续努力为大家带来更多实用的文章!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款