问题
alp在收购其他三大金刚,完成金刚合体后,忽然秀了一波断网闹剧,疑似跑路。各种传言不断,总之,VPS是连不上了。
幸好做了自动备份到七牛云上,下载好备份数据后准备恢复。
文件恢复很简单,解压。。OK!
接下就是简单的sql恢复,source **.sql,出现错误了:ERROR 1067 (42000): Invalid default value for 'create_date'。不能为 timestamp字段设置指定的默认值'0000-00-00 00:00:00'。
解决方法
查询资料发现,从5.6.17这个版本就默认设置了不允许插入 0 日期了,术语是 NO_ZERO_IN_DATE NO_ZERO_DATE。必须要插入0日期的话,需要删除去掉 sql_mode 中的 values: NO_ZERO_IN_DATE,NO_ZERO_DATE 。
查看当前sql_mode
1 |
show variables like 'sql_mode'; |
编辑mysql配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,找到 sql_mode,删除“NO_ZERO_IN_DATE,NO_ZERO_DATE”。
重启mysql服务即可。
1 |
systemctl restart mysql |
重新导入sql文件,成功!