mariadb 突然无法转储远程数据库:“字段列表”中的列“generation_expression”未知

inb24sb2  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(187)

我一直都可以使用mariadb-dump从CLI转储远程数据库。从今天开始,我突然收到以下错误

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

我检查了服务器信息模式,确实缺少generation_expression列。它位于我打算转储到的本地测试服务器上。mariadb-dump版本是Ver 10.19 Distrib 10.11.2-MariaDB,for Linux(x86_64),服务器版本是MySQL 5.6。
我在互联网上找不到任何相关的问题或stackoverflow。我环顾四周,似乎generation_expression只在版本5.7中引入。我无法将服务器升级到5.7。我希望这是不必要的,虽然转储工具一直工作良好。我正在考虑做一个完整的重新安装mariadb,但这需要大量的时间和精力,并且可能不能解决问题。
编辑:我刚刚重新安装了数据库服务器并清理了所有数据(先备份),我仍然得到同样的错误。

pbpqsu0x

pbpqsu0x1#

这在MariaDB 10.11中已更改(参见MDEV-16029和此提交)。
因此,您应该降级您的MariaDB客户端工具(10.10或更低版本)或使用MySQL客户端工具。在过去的10年里,MariaDB和MySQL已经分道扬镳,因此无法保证在MariaDB服务器上使用MariaDB客户端工具时转储会正常工作。
还可以考虑升级MySQL安装。MySQL 5. 6几年前就已经到了EOL。

相关问题