首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqldump -兼容=oracle给出错误

mysqldump -兼容=oracle给出错误
EN

Stack Overflow用户
提问于 2021-12-21 16:07:34
回答 1查看 132关注 0票数 -1

从…

mysqldump选项名“-兼容”,如mysql开发人员站点中所记录的那样

我们有-

  • -兼容

产生与其他数据库系统或旧的MySQL服务器更兼容的输出。名称的值可以是ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_table_options或no_field_options。若要使用多个值,请用逗号分隔它们。这些值与设置服务器SQL模式的相应选项的含义相同。参见5.1.10节,“Server模式”。

此选项不保证与其他服务器兼容。它只启用当前可用于使转储输出更兼容的那些SQL模式值。例如,-兼容= Oracle不将数据类型映射到Oracle类型或使用Oracle注释语法。

在这里,我有个疑问-

代码语言:javascript
复制
mysqldump -u admin -p  database1 --compatible=oracle > /home/payel/Documents/Unimportant/MySQLBackUp/test.sql
Invalid mode to --compatible: oracle

我为什么要犯这个错误?

更新:

只有ansi模式没有给出invalid mode错误,但是它提供了一个单独的错误-

代码语言:javascript
复制
mysqldump -u admin -p  database3 --compatible=ansi > /home/payel/Documents/Unimportant/MySQLBackUp/test.sql
Enter password: 
mysqldump: Error: 'Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'information_schema.FILES.EXTRA' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by' when trying to dump tablespaces

即使关闭了only_full_group_by,错误仍然存在-

代码语言:javascript
复制
SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";

其余的所有选项都会导致invalid mode错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-21 16:27:30

您正在显示一个指向非常旧的MySQL 5.6文档的链接。当前MySQL 8的文档表示,现在唯一允许的值是ansi。如果ansi格式不够好,您可以安装mariadb客户端工具(我相信它可以连接到MySQL 8服务器)并使用mariadb-dump,它仍然具有oracle选项(但请注意,它实际上并不生成oracle数据类型或注释语法)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70438327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档