mysqldump和分离INSERT的

时间:2013-08-27 18:07:55

标签: mysqldump

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

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

E.g:

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);

这可能吗?

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式完成:

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

其中USER是您的用户,DATABASE是您的数据库。

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

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