我一直都可以使用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,但这需要大量的时间和精力,并且可能不能解决问题。
编辑:我刚刚重新安装了数据库服务器并清理了所有数据(先备份),我仍然得到同样的错误。
1条答案
按热度按时间pbpqsu0x1#
这在MariaDB 10.11中已更改(参见MDEV-16029和此提交)。
因此,您应该降级您的MariaDB客户端工具(10.10或更低版本)或使用MySQL客户端工具。在过去的10年里,MariaDB和MySQL已经分道扬镳,因此无法保证在MariaDB服务器上使用MariaDB客户端工具时转储会正常工作。
还可以考虑升级MySQL安装。MySQL 5. 6几年前就已经到了EOL。