0

当我运行以下 mysqldump 命令时,它会将 INSERT 组合在一起。

mysqldump --user=username --password=password --host=localhost database | gzip > /parth/to/folder/backup.sql.gz

例如:

INSERT INTO tbl_name VALUES (1,2,3), (4,5,6), (7,8,9)

这对于节省空间非常有用,但让我很难导入 3GB 的 sql 文件。我有一个脚本可以分段上传大型 SQL 文件。它打破了线路,以便服务器/页面不会超时。

我更喜欢的是:

INSERT INTO tbl_name VALUES (1,2,3);
INSERT INTO tbl_name VALUES (4,5,6);
INSERT INTO tbl_name VALUES (7,8,9);

那可能吗?

4

1 回答 1

2

您可以通过以下方式进行:

mysqldump -uUSER --skip-extended-insert -p DATABASE | gzip > dump.sql.gz

USER你的用户在哪里,DATABASE你的数据库在哪里。

但是——真的,为什么要这么做?多次插入在性能方面更好。

另外,提示:如果您正在输入此命令(即它不是某些脚本的一部分) - 不要提供密码,因为它将保存在历史记录中(默认情况下) - 这可能是不安全的(在上面的单站-p选项示例中表示交互式密码提示)

于 2013-08-27T18:15:21.843 回答