我在 Ubuntu Linux(10.0.4 LTS)上运行 mysqldump
我的mySQL版本信息是:
mysql Ver 14.14 Distrib 5.1.41,适用于 debian-linux-gnu (i486),使用 readline 6.1
我使用了以下命令:
mysql -u 用户名 -p 数据库名称 > 数据库名称_backup.sql
然而,当我打开生成的.sql文件时,我发现大多数表只转储了模式,而在少数实际数据被转储的情况下,只转储了1或2条记录(每个表至少有几十条记录)。
有人知道可能发生什么事吗?
答案1
我认为您会看到很多插入,但实际上可能只看到 1 或 2 个。这很正常,如果您仔细观察,您会看到 1 或 2 个 BIG 插入(扩展插入)。扩展插入是包含多个 VALUES 列表的多行插入。
答案2
尝试传递完整命令:
mysqldump --databases --result-file=filename.sql mydatabase -u mysqluser -p
答案3
我也遇到了数据没有被转储的问题,但原因不同。如果有人犯了同样的错误,我会在这里发布答案。我做到了:
mysqldump -u user -p -d database_name
认为-d database_name
指定了数据库名称。但是 database_name 被视为最后一个参数(而不是选项),而-d
似乎是 的(未记录的)独立缩写--no-data
。删除后,-d
我在转储中获得了数据。