You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bigdump恢复phpMyAdmin数据库备份时报passworddate默认值无效错误

问题产生原因

  • 目标MySQL服务开启了NO_ZERO_DATE SQL模式,该规则禁止将'0000-00-00'这类不符合日期规范的值作为date类型字段的默认值。高版本MySQL(5.7及以上)默认开启该模式。
  • 你所导入的SQL备份是从低版本MySQL导出的,旧版本默认未开启NO_ZERO_DATE限制,因此导出的建表语句中保留了0000-00-00的默认值配置,不符合高版本MySQL的规则。

解决方案

方案1:临时调整导入会话的SQL模式(推荐,无需修改备份文件)

该方案仅临时关闭本次导入会话的日期严格限制,不会影响MySQL全局配置:
编辑Bigdump工具的bigdump.php配置文件,找到$dbpre_query配置项,添加如下内容:

$dbpre_query[] = 'SET sql_mode = "";';

保存配置后重新执行导入即可。

方案2:修改备份文件中的建表语句

直接编辑你要导入的SQL备份文件,找到报错位置对应的passwordhistory表建表语句,调整passworddate字段的默认值为合法配置:

-- 方案A:允许字段为NULL,默认值设为NULL
`passworddate` date NULL DEFAULT NULL,
-- 方案B:保留非空限制,设置合法的默认日期
`passworddate` date NOT NULL DEFAULT '1970-01-01',

修改完成后保存文件,重新执行导入即可。

方案3:全局修改MySQL配置(不推荐,仅适用于业务必须使用零日期的场景)

编辑MySQL的配置文件(Linux系统为my.cnf,Windows系统为my.ini),找到sql_mode配置项,移除其中的NO_ZERO_DATE和STRICT_TRANS_TABLES参数,重启MySQL服务后再执行导入。该配置会全局降低MySQL的数据校验严格性,非必要不建议使用。

内容的提问来源于stack exchange,提问作者pharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:27:04