首页 > 代码库 > mysql 5.7安装cacti 导入cacti.sql出错

mysql 5.7安装cacti 导入cacti.sql出错

在安装cacti0.88h的时候。将cacti.sql导入到数据库的时候出现如下错误:

ERROR 1067 (42000) at line 1847: Invalid default value for ‘status_fail_date‘

查看status_fail_date的数据库创建语句:

技术分享

发现status_fail_datedatetime默认类型是不允许的。查看了mysql 5.7的手册。默认模式为:

The default SQL mode in MySQL 5.7 includes these modes: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION.

 

来自 <http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html>

应该是no_zero_in_date,no_zero_date的模式不允许插入。把这两个默认模式去掉就行了。

方法:

vim /etc/my.cnf

加入如下内容到mysqld里面:sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后 重启mysql服务。

看下这两个模式是不是没了:

技术分享

发现no_zero_in_date,no_zero_date模式不存在了。

 

顺便吐槽下,不按照规范写sql,搞死人。。。

mysql 5.7安装cacti 导入cacti.sql出错