mysqldump无法转储我的数据。

5

这是我正在使用的命令:

mysqldump.exe -u root -d capstone -verbse --skip-quote-names > capstone.sql

我得到的输出结果

mysqldump: Warning: Can't set SQL_QUOTE_SHOW_CREATE option ()
-- Skipping dump data for table 'users', --no-data was used

有什么想法吗?如果我将其转储为XML,则可以正常工作,但我导入的位置无法处理XML,而我的数据也会破坏CSV输出。

你的服务器运行的是哪种操作系统? - Stepo
1
我刚意识到自己是个白痴。-d标志不是用来定义数据库的,而是用来表示--no-data的。 - Matth
有时候会发生这种情况...所以解决了吗? - Stepo
可能是Mysql:转储数据库以及数据的重复问题。 - arhak
2个回答

3

-d选项是--no-data的别名,详见https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_no-data

也许您想要表达“使用数据库capstone”,但在这种情况下,它不应该是-d capstone,数据库名称不需要任何开关/选项,只需将其放在那里即可。

shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases

https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#mysqldump-syntax


1
对于那些假定了类似 Postgres 的参数的人来说,这就是答案。(通常,psql 使用 -d 来选择数据库:https://www.postgresql.org/docs/13/app-psql.html) - Exec

0

我认为你的意思是要使用-B / --databases(它允许您指定多个要转储的数据库而不是一个数据库和表),或者根本不使用此参数。我认为您还拼错了--verbose

请注意,如果包括--databases,则还会包括CREATE DATABASE语句。这可能很重要,具体取决于您打算如何使用数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接