mysqldump不导出数据,仅模式

问题描述

我正在如下运行MysqLdump

MysqLdump -u root --password=secret -d dbname > output.sql

当我查看输出时,我只有模式。但是,如果我使用相同的准确设置进行连接并进行查询,则有大量数据:

MysqL -u root --password=secret -D dbname 
MysqL> select count(*) from account;
+----------+
| count(*) |
+----------+
|      230 |
+----------+

基于官方文档,看来我正确使用了MysqLdump。我在OS X上,这是我的MysqL信息:

» MysqLdump --version
MysqLdump  Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)

解决方法

-d选项表示不写表内容。 documentation说:

--no-data,-d
不要写任何表行信息(即,不要转储表内容)。如果只想转储表的CREATE TABLE语句(例如,通过加载转储文件来创建表的空副本),这将很有用。

删除-d选项,您应该获得所有表内容。

,

这应该有效:

mysqldump --user=<username> --password=<password> --result-file=<path_to_backup_file> --databases <database_name>