从…
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注释语法。
在这里,我有个疑问-
mysqldump -u admin -p database1 --compatible=oracle > /home/payel/Documents/Unimportant/MySQLBackUp/test.sql
Invalid mode to --compatible: oracle我为什么要犯这个错误?
更新:
只有ansi模式没有给出invalid mode错误,但是它提供了一个单独的错误-
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,错误仍然存在-
SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";其余的所有选项都会导致invalid mode错误
发布于 2021-12-21 16:27:30
您正在显示一个指向非常旧的MySQL 5.6文档的链接。当前MySQL 8的文档表示,现在唯一允许的值是ansi。如果ansi格式不够好,您可以安装mariadb客户端工具(我相信它可以连接到MySQL 8服务器)并使用mariadb-dump,它仍然具有oracle选项(但请注意,它实际上并不生成oracle数据类型或注释语法)。
https://stackoverflow.com/questions/70438327
复制相似问题