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

使用mariadb-dump备份远程MySQL5.6数据库报错:字段'generation_expression'不存在

解决mariadb-dump备份MySQL 5.6时出现Unknown column 'generation_expression'错误

问题重现

一直通过CLI使用mariadb-dump备份远程MySQL数据库,突然触发以下错误:

mysqldump: Couldn't execute
'select column_name, extra, generation_expression, data_type
from information_schema.columns
where table_schema=database()
and table_name=''':
Unknown column 'generation_expression' in 'field list' (1054)

环境信息:

  • 本地mariadb-dump版本:Ver 10.19 Distrib 10.11.2-MariaDB(Linux x86_64)
  • 远程数据库版本:MySQL 5.6
  • 确认远程服务器information_schema.columns表无generation_expression字段(该字段为MySQL 5.7及以上版本引入)
  • 已重装本地数据库并清理数据,问题仍存在

解决方案

方法1:添加兼容低版本参数

执行mariadb-dump时带上--compatible=mysql56参数,强制工具适配MySQL 5.6的系统表结构:

mariadb-dump --compatible=mysql56 -h <远程主机地址> -u <用户名> -p <目标数据库名> > backup.sql

方法2:使用匹配版本的dump工具

若方法1无效,可安装MySQL 5.6对应的mysqldump工具,用它来完成备份操作,从根源规避版本不兼容导致的系统表查询差异。

原因说明

高版本MariaDB的mariadb-dump默认会查询generation_expression字段,但该字段是MySQL 5.7之后才加入information_schema.columns的。当高版本工具连接低版本MySQL 5.6时,就会因目标数据库无此字段触发报错。添加兼容参数后,工具会自动调整查询逻辑,跳过对该字段的读取,从而适配低版本数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:23:19